Proper assertion instead of blindly clearing the OutputMessageBuf
Optimize OutputMessageBuf.drainToNextInbound/Outbound()

- Return early when the buffer is empty
- Keep only the number of byte buffers
- Remove unnecessary null check in the loop (because we know buffer is not empty at certain point)
Make sure to release the buffer when it's written to the next byte buffer

.. otherwise it will leak.
No need to have nested try blocks

.. because the catch block catches everything and rethrows it
Clean up catch blocks

- No need to have nested try blocks because the catch block catches everything and rethrows it
- No need to do instanceof-checks
Ensure BufUtil.release() is called even if writeBytes() fails in writeAndRelease()
Saner field order
Clean up try/catch blocks / Prefer 'throw' to 'fireExceptionCaught'
Make sure OP_WRITE is correctly cleared when using FileRegion and other NioTasks
Fix compiler warnings
Fix checkstyle
Make Unpooled*ByteBuf public so that ByteBufAllocator implementor can extend it
fix #1234 - duplicate package-info.java errors in eclipse requires release of netty-build v 19 and netty-parent update.
Upgrade to netty-build-19
Fix a bug in AbstractTrafficShapingHandler.getTimeToWait() where it doesn't work OK when system time goes back.
[#1239] Fix possible NPE while fail flush futures during close
[#1241] Fix NPE in AbstractTrafficShapingHandler and the logic
Also provide implementation for flush out of the box
No need t let SpdyOrHttpChooser extends ChannelDuplexHandler
[#1246] Fix cpu-spinning regression in HashedWheelTimer

Also remove the usage of System.currentTimeMillis() completely here to make it more consistent and correct