Replaced internal datastructure to hold the messages with a double-linked-list like structure.

This simplifies it a bit and is good enough as we need to create a wrapper object anyway.
No need to pool anymore
Factor out nio specific stuff in extra implementation of ChannelOutboundBuffer
Fix up tests
Refactoring
Refactor logic for handling non-direct buffers
Factory out stuff and add ChannelOutboundBuffer implementation for NioDatagramChannel
Remove duplicated code
More refactoring and use optimized buffer for SCTP transport
Cleanup
Better inherit
Add missing changes
Notify the ChannelPromise based on written bytes to allow all kind of optimizations
Automaticaly merge buffers when possible.
Revert some change which was committed by mistake
No need to create a new checkpoint for VoidChannelPromise
Take care of re-entrance issue and cleanup