Add support for 'charset' property for multipart boundaries

- Fixes #2004
Add XML decoder

- based on @mcaserta's work at https://github.com/netty/netty/pull/1121
- not ready for a merge yet
Fixed the XML decoder
CDATA support
Fix inspector warnings
Rename flushAndWrite() to writeAndFlush()

- Related: #2066
Remove unnecessary check in DefaultPromise.await0()

- Fixes #2032
- Fix inspection warnings
Fix buffer leaks in XmlFrameDecoderTest
Fix another buffer leak in XmlFrameDecoderTest
Fix a bug in SslHandler where a ClassCastException is raised when non-ByteBuf message is passed

- Fixes #1828
Fix a bug where HttpObjectAggregator fails to send a '100 Continue' response

- Fixes #1742
Improve the unit test for #1742
Change the return type of EmbeddedChannel.read*() from Object to an ad-hoc type parameter

.. so that there's no need to explicitly down-cast.

Fixes #2067
Fix a race condition where flush() can be triggered before write()

.. when a handler overrides write() but not flush().
Remove unnecessary code from HttpObjectDecoder and re-enable all HTTP tests

- Since Netty 4, HTTP decoder does not generate a full message at all.  Therefore, there's no need to keep separate states for the content smaller than maxChunkSize.
- maxChunkSize must be greater than 0. Setting it to 0 should not disable chunked encoding. We have a dedicated flag for that.
- Uncommented the tests that were commented out for an unknown reason, with some fixes.
- Added more tests for HTTP decoder.
- Removed the Ignore annotation on some tests.
Stop decoding after protocol upgrade / Do not use singleDecode option
Limit the access of the HttpHeaders for performance reasons
Add Recycler.Handle.recycle() so that it's possible to recycle an object without an explicit reference to Recycler
Fix a leak in HttpResponseDecoderTest
Relax Maven version requirement