Fix HashMap to call GC.addRange if necessary.

Should fix a crash bug that happened in conjunction with Libevent2ManualEvent.
Fix malfunction of multiple Libevent2ManualEvent instances.

Two fields were erroneously "__gshared", which implies "static" and thus caused the fields to be shared among all instances.
Fix sending of messages to the calling Task in vibe.core.concurrency. Semantic change!

This change also slightly changes the semantics in case of boolean message handlers. In particular, if there are message handlers that accept a certain type of message, but all of them return false, the message will be removed from the queue anyway as if it was handled.

Since std.concurrency doesn't really specify a behavior in this case, it should generally be avoided in the first place.