Fix test failures and reported leaks
Fix reported leaks
Upgrade dependencies
[maven-release-plugin] prepare release netty-4.0.0.CR4
[maven-release-plugin] prepare for next development iteration
[#1442] Make sure closing the channel will not cause an UnsupportedOperationException
Deprecate NoSuchBufferException as it's not used anymore
Javadocs cleanup
Deprecate IncompleteFlushException as its not used anymore
More javadoc fixes
Make sure the exception is thrown when it happens during test
Remove unused exception classes
Fix memory leak
Revert "[#1442] Make sure closing the channel will not cause an UnsupportedOperationException"

This reverts commit a1a86b9de48e4696e3496904dd972336f57b4a0b because the
semantic of ctx.isRemoved() is confusing to a user - why is
ctx.isRemoved() false when handlerRemoved() is invoked? A better
solution would be check if the connection is inactive and mark the
promise as failure before attempting to write anything.
Make sure writing to a closed channel does not trigger an UnsupportedOperationException

- Fixes #1442
Determine the default number of heap/direct arenas of PooledByteBufAllocator conservatively

- Fixes #1445
- Add PlatformDependent.maxDirectMemory()
- Ensure the default number or arenas is decreased if the max memory of the VM is not large enough.
[maven-release-plugin] prepare release netty-4.0.0.CR5
[maven-release-plugin] prepare for next development iteration
Don't release messages before throw UnsupportedOperationException, as the caller method will take care
Introduce new utility class calles ReferenceCountUtil and move utility methods from ByteBufUtil to it.

The ones in ByteBufUtil were marked as @deprecated