Kill all thread registered in given ThreadMap. This version is
exposed as API. This is not called from cleanup routine. Thus it
doesn't ignore asynchronous exceptions.
Kill all thread registered in given ThreadMap. This internal
version is only called from cleanup routine so this ignores
ThreadKilled asynchronous exception.