Refactoring
Refactor logic for handling non-direct buffers
Factory out stuff and add ChannelOutboundBuffer implementation for NioDatagramChannel