Improve the reverse proxy server.

 - HEAD requests are now handled correctly
 - Using compressed encodings can be disabled for client requests now
 - Client requests are now dome using the fully scoped version of requestHTTP to avoid GC allocations
Fix the cache control header for the HTTP file server.
Allow customizing the content type for HTTPServerResponse.writeJsonBody.
Send a proper "Date" header for HTTP server responses.
Send caching relevant headers also for not-modified responses of the HTTP file server.
add MongoCollection.aggregate helper method
Merge pull request #348 from japplegame/mongo_aggregate

Add MongoCollection.aggregate helper method