Fix StackOverflowError raised by DefaultPromise.notifyListeners() when ImmediateEventExecutor was used

- Fixed #1602
Fix checkstyle
Fix a potential race condition where the worker thread of GlobalEventExecutor terminates with a pending task

- Potential fix for the hanging SpdyFrameDecoderTest
Simplify
Fix resource leak in LengthFieldBasedFrameDecoderTest
Rewrite ChannelOutboundBuffer

- Merge MessageList into ChannelOutboundBuffer
- Make ChannelOutboundBuffer a queue-like data structure so that it is nearly impossible to leak a message
- Make ChannelOutboundBuffer public so that AbstractChannel can expose it to its subclasses.
- TODO: Re-enable gathering write in NioSocketChannel
Checkstyle
Implement gathering writes in NioSocketChannel

- Add some support methods in ChannelOutputBuffer
Make ChannelOutboundBuffer recycled
Fix NPE
Move inFlush0 and outboundBuffer in AbstractChannel to AbstractUnsafe

.. because they are accessed by AbstractUnsafe much more often.
Fix resource leaks in the tests
Make sure channelInactive() and channelDeregistered() are triggered even if outboundBuffer.recycle() fails
A little bit of Javadoc for ChannelOutboundBuffer
Fix a potential bug where AbstractUnsafe.flush0() fails to clear the inFlush0 flag

- Fixes #1609
Remove unnecessary code from SslHandler

- Remove CloseNotifyListener which was used only to reduce the noisy logging.
- Instead, simply do a string match.
- Fixes #1608
Better promise validation messages
Even better promise validation messages
Implement ProgressivePromise notification in NIO byte channels and ChunkedWriteHandler

- Refine the contract of GenericProgressiveFutureListener.
- Negative 'total' now means 'unknown', which is useful for ChunkedWriteHandler.
Update HttpStaticFileServer example / Fix bugs related with progress notification

 - Fix a bug in DefaultProgressivePromise.tryProgress() where the notification is dropped
 - Fix a bug in AbstractChannel.calculateMessageSize() where FileRegion is not counted
 - HttpStaticFileServer example now uses zero copy file transfer if possible.