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
[#2079] Stop reading once the NIO byte Channel was complete drained
More graceful registration failure

- Fixes #2060
- Ensure to return a future/promise implementation that does not fail with 'not registered to an event loop' error for registration operations
- If there is no usable event loop available, GlobalEventExecutor.INSTANCE is used as a fallback.
- Add VoidChannel, which is used when an instantiation of a channel fails.
Fix a bug where adaptive recvbuf size prediction doesn't work correctly when maxMessagesPerRead is > 1
Increase the default maxMessagesPerRead of  AbstractNioByteChannel to 16

 - Related: #2079
Use LinkedHashSet for HttpHeaders.names() and add Javadoc about the performance of names() and entries()
Workaround for a bug in maven-release-plugin where it doesn't work well with Git 1.8.5
[maven-release-plugin] prepare release netty-5.0.0.Alpha1
[maven-release-plugin] prepare for next development iteration