Minimize buffer allocation as it is expensive if no pooled buffers are used
[#1730] Correctly release resources in MixedFileUpload after switching from Memory to Disk
[#1732] Fix bug which lead ChannelTrafficShapingHandler stop to work after first Channel was disconnected
[#1733] Correctly pass the promise to the ctx.write(...) in AbstractTrafficShapingHandler
use Promise instead of CallbackNotifier
resource leak: FileInputStream was never closed
[#1481] Add a JdkZlibDecoder which has no dependencies
SPDY: ensure channel close happens after outbound message is written
[#1743] Fix IllegalStateException by remove usage of PendingWrite in ChunkedWriteHandler. This needs more thoughts before re-introduce it
remove unused initialCapacity
add struct to replace parallel arrays consolidate flushed & unflushed buffers
Fix a bug in internalNioBuffer() implementations of derived buffers

- A user can create multiple duplicates of a buffer and access their internal NIO buffers. (e.g. write multiple duplicates to multiple channels assigned to different event loop.)  Because the derived buffers' internalNioBuffer() simply delegates the call to the original buffer, all derived buffers and the original buffer's internalNioBuffer() will return the same buffer, which will lead to a race condition.
- Fixes #1739
Fix IllegalStateException triggered while shutting down ThreadPerChannelEventLoopGroup

- Fix #1718
- Add the test case contributed by @mkw
Fix checkstyle
[#1763] Fill ChannelOutboundBuffer.nioBuffers with null on close to allow the content to be GC'ed
fix writability callback
trim buffers before recycling
[#1770] Fix NPE which was thrown if connection timeout was disabled and the connect did not finish directly when using NIO
[#1772] Make sure ChannelOutboundBuffer.recycle() does also reset unflushed, flushed and tail.

This fix a IndexOutOfBoundsException which as triggered if recycle() did cut down the buffer[] to the initial size.
fix race condition in test