Make CompatibleMarshallingDecoder discard the inbound buffer once TooLongFrameException is raised

(See #768)

Once too long object is received, CompatibleMarshallingDecoder has to
discard all input from now on, just like MarshallingDecoder does.
Otherwise, the decoder will raise more exceptions because the decoder
has no idea anymore where the object starts.

Before this fix, SerialThreadLocalCompatibleMarshallingDecoderTest
logged many additional exceptions raised by the decoder after test is
finished.
Remove redundant exception message
fixing type on event/send argument
[#776] Introduce the possiblilty to specify a BossPool when construct ChannelFactory instances.

* Beside this allow to set a ThreadNameDeterminer per BossPool and WorkerPool. This allows to have different determiner instances in the same JVM.
This fixes #771.
* With the possiblity to share BossPools it is even easier to limit the Thread counts even if you need to create many ChannelFactory instances. So this gives a lot of flexibility.
[786] Fix possible corruption of first WebSocketFrame caused by WebSocketServerHandshaker*
Remove unnecessary empty lines
Update netty-build to the latest version

From this commit, checkstyle considers an unnecessary empty line as a
violation.
[#789] Allow a user to trigger the epoll bug workaround

This commit adds rebuildSelector(s) method to Boss, BossPool, Worker, and WorkerPool.  A user can call rebuildSelector(s) method to initiate the workaround for the infamous epoll 100% CPU bug in Linux based on his or her observations rather than potentially incorrect automatic initiation of the workaround.

Previously, setInterestOps() were executed by a caller thread, which made re-registration of SelectionKeys unsafe.  This commit also ensures setInterestOps() is always executed by an I/O thread.  With this change, we don't need NioProviderMetadata anymore.
[#775] Rework closing logic of Worker/Boss

Added a shutdown() method on ChannelFactory, Boss, Worker, BossPool, WorkerPool and Bootstrap which can be used to just shutdown the instance and so release all internal created resources. This method is also called when releaseExternalResources() which will also release external created resources like Executors.

This commit also fixes the problem that the Worker/Boss Thread will never be released if you use an Executor (no ExecutorService).
clear out the hash table after resizing, and check for table modification in reads
fix containsValue to take snapshot of `table` and use Arrays.fill for clearing out oldTable
Merge pull request #804 from arya/fix_hash_wheeled_timer_space_leak

fix containsValue to take snapshot of `table` and use Arrays.fill
[#807] SslHandler.handshake() need to respect ChannelFuture of wrapNonAppData(...)
Fix compilation warnings
[#829] Fix a race in SslHandler which could lead to all types of SSLExceptions, including handshake() failures
[#829] Add test that can be used to verify the fix, this failed before.
[#799] [#835] Allow to set a timeout for the SslHandler.handshake(), after which it will fail
Do not use slice() to read content of an HTTP message

This fixes the bug introduced while fixing #412
[#751] Backport WebSocket 07 support
[#832] Add javadocs which explains how to workaround the problem