Optimize the http-codec to be much faster then before.

This includes the following changes:
  * Rewrite HttpObjectDecoder to use ByteToMessageDecoder
  * Optimize parsing of the header
  * Allow to disable the header validation for performance reason
  * Not need to validate kwown header names and values
  * Minimize access of ThreadLocals
  * Optimize parsing of initial line
[#1818] Pass through message as they are when no compression is needed
[#1819] Remove HTTP compressor and decompressor from the pipeline after websockets handshake completes
[#1821] Fix IndexOutOfBoundsException which was thrown if the last component was removed but other components was left
Set memory for compiler as otherwise it sometimes fails here
Add test to show that writing a CompositeByteBuf when SslHandler is in use works. Related to [#1825]
Allow to only register a Channel via AbstractBootstrap and bind/connect it later. Related to [#1829]
Make DatagramChannel impls .isActive() return true when the underlying Channel is open. This also fixes [#1830]
[#1830] Add testcase for write to not bound DatagramChannel impls and revert change in OIO as it breaks things as the udnerlying socket lazy binds
No need to use an unreleasable buffer - just wrap an array
[#1833] Replace ; with & only in the QueryString and not the whole URI
[#1833] Add testcase for fix
Fix nioBuffer implementation for CompositeByteBuf
[#1836] Add comment to explain why read is triggered
More efficient handling of incomplete writes.

The problem with the old way was that we always set the OP_WRITE when the buffer could not be written
until the write-spin-count was reached. This means that in some cases the channel was still be writable
but we just was not able to write out the data quick enough. For this cases we should better break out the
write loop and schedule a write to be picked up later in the EventLoop, when other tasks was executed.
The OP_WRITE will only be set if a write actual returned 0 which means there is no more room for writing data
and this we need to wait for the os to notify us.
[#1852] Fix bug in UnpooledDirectByteBuf.nioBuffer(...) implementation
[#1853] Optimize gathering writes for CompositeByteBuf that are only backed by one ByteBuffer
Slip in DefaultOioSocketChannelConfig (setAllowHalfClosure used to ignore argument)
[#1851] EmptyByteBuf.isWritable(..) and isReadable(...) should not throw IndexOutOfBoundsException
HttpRequestEncoder should append '/' to absolute path requests only when needed