Rename CodecOutput to RecyclableArrayList and move it to internal package.

* Also reuse it in SslHandler
Adjust ChannelGroup to behave the same like a Channel in terms of write and flush
Merge remote-tracking branch upstream/$:{upbranch}