[CASSANDRA-6861] Various fixes to improve performance.

This includes:
 * use the same ByteBufAllocator everywhere
 * use ByteBuf.slice(...) when possible to reduce memory copies
 * Correctly handle the writerIndex with arrayOffset()
 * Bump up netty version to 4.0.19.Final for performance improvements. This is mainly
   because of the new introduced ThreadLocal caches for the PooledByteBufAllocator (was introduced in 4.0.18.Final).