Implemented basic callback based SSL certificate validation.

Still missing host name validation and this commit contains some log output that will be removed prior to release.

The SSLPeerValidationMode enum is also still subject to change and SSLPeerValidationData isn't very useful, yet.
Implement basic SSL host name verification. See #469.
Replace string parameter by const(char)[]
Merge pull request #494 from schuetzm/http_log_const_char

Replace `string` parameter by `const(char)[]` in `HTTPLogger.writeLine()`
Avoid use of BinaryHeap!Array on DMD < 2.065 trying to work around compile/link errors.

Instead, a slower RedBlackTree is used on older compiler versions now.
Fix the order of timers for the RedBlackTree based compatibility code and add some more debug output.
Avoid use of std.typecons.Tuple to try to work around yet another random DMD error.
Fix Libevent2UDPConnection.release when invoked outside of a task.

Also fixes assertion error messages ("TCP" -> "UDP").
Remove '+' as an escape sequence for URL encoding. Fixes #498.

At the same time, a form(En/De)code function is added and used for decoding query string based web forms.
Implement limit method for MongoDB driver
Merge pull request #499 from nazriel/mongodb_limit

Implement limit method for MongoDB driver
Let MongoCursor.limit only decrease the limit, never increase.

See also #499.
Fix issue #481
Adding convenience method to parse Redis version
Safety check for param
Merge pull request #501 from nazriel/issue481

Fix issue #481
Renaming getVersion() to @property Version() according to #502
Applying comments at #502
Fixed missing std.string
Merge pull request #502 from fabsi88/master

Adding convenience method to parse Redis version