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
Optimize DefaultHttpHeaders.contains(...)
Respect validateHeaders when duplicate/copy the response/request
[#2005] Allow to use HttpContentDecompressor in strict mode
[#2006] Correctly handle HttpMessage / HttpContent implementations
Simplify bundle generation / Add io.netty.versions.properties to all JARs

- Fixes #2003 properly
- Instead of using 'bundle' packaging, use 'jar' packaging.  This is
  more robust because some strict build tools fail to retrieve the
  artifacts from a Maven repository unless their packaging is not 'jar'.
- All artifacts now contain META-INF/io.netty.version.properties, which
  provides the detailed information about the build and repository.
- Removed OSGi testsuite temporarily because it gives false errors
  during split package test and examination.
- Add io.netty.util.Version for easy retrieval of version information
Remove the distinction of inbound handlers and outbound handlers

- Fixes #1808
- Move all methods in ChannelInboundHandler and ChannelOutboundHandler up to ChannelHandler
- Remove ChannelInboundHandler and ChannelOutboundHandler
- Deprecate ChannelInboundHandlerAdapter, ChannelOutboundHandlerAdapter, and ChannelDuplexHandler
- Replace CombinedChannelDuplexHandler with ChannelHandlerAppender
  because it's not possible to combine two handlers into one easily now
- Introduce 'Skip' annotation to pass events through efficiently
- Remove all references to the deprecated types and update Javadoc
Merge package private interfaces into public ones.

- Related: #1989 and #1991
Fix maven-bundle-plugin life cycle mapping in Eclipse
Optimize the decoding and encoding of HTTP for better performance

* No need to calculate the hash of known header names multiple times
* Optimize header encoding
* Also optimize the encoding of known header values
* Optimize encoding of HTTP method, version and status
Fix NPE raised by HttpHeaders.equalsIgnoreCases() when one of its arguments is null
Add test case for HttpHeaders.equalsIgnoreCase(...)
Merge buffers for performance reasons if possible when encode http requests/responses.
Fix test
Fix bugs in ZLIB codec where they produce malformed stream or their streams are not flushed on time

- Fixes #2014
- Add the tests that mix JDK ZLIB codec and JZlib codecs
- Fix a bug where JdkZlibEncoder does not encode the GZIP header when nothing was written to te channel
- Fix a bug where the encoders do not consider the overhead of the wrapper format when calculating the estimated compressed output size.
- Fix a bug where the decoders do not discard the received data after the compressed stream is finished
Remove the use of ThreadLocal for performance reasons