[#2254] Correctly handle Channel.read() and ChannelHandlerContext.read()

This includes also when it is called from channelRead(...) and channelReadComplete(...) methods.
Fix check to clear READ_OP and EPOLLIN. Part of [#2254]
Apply receive timeout to commPort when using RxtxChannel. Part of [#1390]
Upgrade JMH to 0.4.1 and make use of @Params.
Always upstream full memcache messages.

This changeset is related to #2182, which exposes the failure in
the http codec, but the memcache codec works very similar. In addition,
better failure handling in the decoder has been added.
Fix a bug where HttpObjectDecoder generates two LastHttpContent consecutively

Motivation:
When an HttpResponseDecoder decodes an invalid chunk, a LastHttpContent instance is produced and the decoder enters the 'BAD_MESSAGE' state, which is not supposed to produce a message any further.  However, because HttpObjectDecoder.invalidChunk() did not clear this.message out to null, decodeLast() will produce another LastHttpContent message on a certain situation.

Modification:
Do not forget to null out HttpObjectDecoder.message in invalidChunk(), and add a test case for it.

Result:
No more consecutive LastHttpContent messages produced by HttpObjectDecoder.
Fix checkstyle
added secure WebSocket client example.

Mostly a copy of the existing WebSocket client example.