Ensure to release the component when it's removed from CompositeByteBuf / Add tests for reference counting of CompositeByteBuf
Fix a bug where DefaultCompositeByteBuf.nioBuffers() fails when its component's nioBufferCount() is greater than 1

- Fixes #1267
Fix checkstyle
[#1284] Fix bug which can cause in infinity-loop triggered by a handler removal
Fix failures in testsuite-osgi-deps

- Make only netty-common depend on javassist at compile scope, and
  all others at test scope
Fix a bug where LineBasedFrameDecoder does not handle too long lines correctly

 - Related: #1287
[#1236] Fix problem where adding a new ChannelHandler could block the eventloop

This change also introduce a few other changes which was needed:
 * ChannelHandler.beforeAdd(...) and ChannelHandler.beforeRemove(...) were removed
 * ChannelHandler.afterAdd(...) -> handlerAdded(...)
 * ChannelHandler.afterRemoved(...) -> handlerRemoved(...)
 * SslHandler.handshake() -> SslHandler.hanshakeFuture() as the handshake is triggered automatically after
   the Channel becomes active
Just fail all futures that are left to not cause out-of-order writes