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.
Add toString method to HTTPResponse / HTTPRequest for user convenience
Unittests script was wrong \(my bad\)
Enable Task.join/interrupt to work outside of the event loop for tasks of the same thread. See #443.

This makes it possible to use those functions outside of a task before the event loop has started, or when the event loop is manually run using processEvents().
Merge pull request #651 from BoapNet/fix-tests

Fix unittests
Merge pull request #654 from japplegame/fix#653

Enable BSON serialization of const objects with toBson() methods. Fixes #653.
Add unit test for serializing const objects to BSON. See #654.
Use HTTPRequest / HTTPResponse toString methods
Minor typos
Merge pull request #650 from BoapNet/pretty-printer

Add toString to http.common.HTTPRequest / HTTPResponse
Avoid memory allocations in vibe.http.log.formatApacheLog.
Fix description of DictionaryList.

See also #655.
Fix va_arg usage for GDC.
Replace use of renderCompat with render in the app_skeleton example.
Avoid use of renderCompat! throughout the code base.

Since DMD 2.064 is now the earliest supported D version, there is no need to use the "compat" version anymore, which will get deprecated starting in vibe.d 0.7.21.
Add vibe.web.web.terminateSession() and fix path based vibe.web.web.redirect().

If the argument to redirect() is not a full URL, it is treated as the local URI part of the full URL now. This allows specifying a query string.