Avoid useless double-serialization. See #412.
Fix access violation in Libevent2TCPConnection when reading from a closed connection.
Avoid trying to drop the response body in the HTTP client when the connection is already closed.
Always close connection when an exception was thrown after starting to write a HTTP server response.
Set a maximum read buffer for Libevent2TCPConnection to avoid huge memory consumption and other side effects.

See http://forum.rejectedsoftware.com/groups/rejectedsoftware.vibed/thread/7927/ for "other" side effects. Note that this issue has another root cause, which is that .empty should not be true unless the read buffer has been fully emptied. Currently it is true as soon as the connection is closed by the remote.
Fix the semantics of Libevent2TCPConnection.empty, fix places where `empty` and `connected` were confused, and clarify the documentation.

`empty` so far had the same semantics as `empty`, which has caused pending incoming data to be dropped prematurely. Empty will now stay false as long as any incoming data hasn't been read, even if the remote has already closed the connection.

A side effect is that now calling `close` is now mandatory to free all resources, as this is now deferred until after all data has been read. This is only important for outgoind connections, as incoming connections are automatically closed upon Task termination.
Add HTTPServerSettings.useCompressionIfPossible, disabled by default.

Since there are still issues with GZIP compression and since compression may not be desired in many cases, it is now disabled by default and can be enabled using either this setting or by manually setting the "Content-Encoding" response header.
Remove the deprecated HTTPServerSettings.sslKeyFile/sslCertFile properties.
Remove "Signal" compatibility aliases.
Add "mainSourceFile" and "systemDependencies" fields.
Fix doc comment.
Fix invalid HTML.
Mention ConnectionPool in the MongoDB docs. See #422.
Enable mutex locking for OpenSSL.
Fix compilation for 64-bit (serializing type with to/fromJson to JSON string).
Attempt to fix compilation of the libev driver.
Fix signature of the assignment operator of TaskLocal. Fixes #432.
Work around CTFE limitation (labeled break).

DMD error: Assertion failure: 'e != EXP_CONTINUE_INTERPRET && e != EXP_BREAK_INTERPRET' on line 975 in file 'interpret.c'
Process ":htmlescape" in Diet templates at compile time if possible.
Protect m_ownedObjects by a mutex as unregisterObject() may be called from a foreign thread.

The GC calls finalizaters in whatever thread the collection happened, which can cause unregisterObject() to be executed in a different thread than where the driver and the object live(d). See also #419.