[#1557] Make the contract of Channel.Unsafe.flush() more clear

* Remove boolean parameter from Channel.Unsafe.flush() method
* Move NIO related things to AbstractNioChannel.NioUnsafe