Start marking some low-level functionality with pure/@safe/@trusted.
Support non-Bson queries with explicit "$query" field. Fixes #648.

Note that this introduces a memory allocation in case of MongoCursor.sort() being used.
Add vibe.core.concurrency.thisTid.
Fix the assertion error message when calling Task.join outside of the event loop.
Fix assertion error message when calling Task.interrupt from outside of the event loop. See #443.
Add a timeout based overload of UDPConnection.recv. Fixes #540.
Finally we just need to compile it as PIC