Add ability to configure a file cache
Don't use a push back channel, instead just attach any left over bytes to the connection

This prevents copying in the pipelined case
Remove case sensitivity from the state machine
Simplify a bit of the parser
Only use the pipelining buffer when it is actually needed

Also refactor the transfer encoding so it is no longer nessesary
to setup the handler, as it is required for every http connection
Fix minor performance issue
Fix accidental change to response conduit
Don't allocate big deques in the header map
Run non-blocking tasks in a loop
Change header map to use less memory
Use IdentityHashMap for attachments
Remove unused option
Add option to immediatly dispatch to a worker thread
Remove IoFuture from session interfaces.

This means that async handlers that want to use the session will
need to make sure they dispatch to a worker first
Revert "Add option to immediatly dispatch to a worker thread"

This reverts commit 6c3125955decfaa218518f502e07edc58d6a4067.
Adjust the dispatch strategy based on if we are pipelining or not
Remove unused messages
Add optimised output stream for use in blocking handlers
Remove unessesary object creation
Add support for 'HTTP/1.1 100 Continue' responses