Clarify SnappyFramedDecoder javadoc to make it as clear as possible regarding the default settings
Fix a which could cause data corruption when using AioSocketChannel.

This was because it was possible to have the JDK read into a wrong buffer region if the user called discardReadBytes() later. Fixes #1377
No need to use NioSocketChannel.class directly
Update HttpHeaderDateFormat.java

Output for "E, dd-MMM-y HH:mm:ss z"
on java 1.6 I get: Wed, 22-May-13 09:11:41 GM
on java 1.7 I get: Wed, 22-May-2013 09:11:14 GMT

To be uniform on both jdks.. modified it to
"E, dd-MMM-yy HH:mm:ss z"

learnt from - http://stackoverflow.com/questions/16687298/simpledateformat-different-behaviour-depending-on-java-version
[#1385] Fix NPE which was triggered if a write was executed but the HeadHandler not init yet
[#1384] Cache HttpHeaderDateFormat in ThreadLocal
[#1388] Ensure AbstractNioMessageChannel based Channels will call fireInboundBufferUpdated() soon enough to release resources
[#1388] Correctly break the loop on exceptions
Fix StackOverflowError in LocalEcho.doBeginRead() when the peer channel keeps writing data

- Fixes #1380
Some optimizations to the http codec
Only call key.interestedOps() if needed
Make sure that setAutoRead(false) has a direct effect and only update interestedOps if needed
No need to clear buffer as it is cleared later anyway and only update interestedOps if needed
No need to create temporary arrays
[#1392] Fix bug where SslHandler returned wrong value for getCloseNotifyTimeoutMillis()
Re-add Unsafe.voidPromise() which can be used for Unsafe operations for which no notification should be done [#1375]
[#1399] DefaultChannelHandlerPipeline.firstContext() should return null if no user handlers are in in the pipeline