Fix regression introduced by 4c7fa950cc4f4c52eeaae5887335b1f3047592f8

- Some promises were not fulfilled when SSLEngine produces 0 bytes.
Also allow to disable header validation via HttpServerCodec and HttpClientCodec. Related to [#1981]
[#1982] Limit the usage of ThreadLocal.get() for performance reasons
Remove unnecessary parenthesis
Merge remote branch 'upstream/master'
Support for empty HTTP request header values.
Merge remote branch 'upstream/master'
Resurrect Channel.id() with global uniqueness

- Fixes #1810
- Add a new interface ChannelId and its default implementation which generates globally unique channel ID.
- Replace AbstractChannel.hashCode with ChannelId.hashCode() and ChannelId.shortValue()
- Add variants of ByteBuf.hexDump() which accept byte[] instead of ByteBuf.
Bring back ChannelGroup.find(id)
Fix an unexpected IllegalStateException from a selector loop when a user cancels a connection attempt

- Fixes #1986
Additional fix for potential race condition which occurs when a user cancels a connection attempt

- Fixes #1986
[#1994] DefaultPromise.cancel() should reuse CancellationException for performance reasons
Improve doc of IdleStateHandler according to example given in UptimeClientHandler (L57)
Introduce ChannelHandlerInvoker, dedeciated for invoking event handler methods, and move most handler invocation code in ChannelHandlerContext to the default ChannelHandlerInvoker implementation

- Fixes #1912
- Add ChannelHandlerInvoker and its default implementation
- Add pipeline manipulation methods that accept ChannelHandlerInvoker
- Rename Channel(Inbound|Outbound)Invoker to
  Channel(Inbound|Outbound)Ops to avoid confusion
- Remove the Javadoc references to the package-private interfaces
Avoid memory leak when encoding the key
[#1682] HttpVersion.valueOf(...) should not convert to uppercase
Use the same HttpHeaders optimisations in master as in 4.0
Fix compile errors caused by last commit
[#2003] Generate a io.netty.util.Version class which holds the version
Optimize check for equals header name and value