Minor fixes
New workers, part 2: cleaned up many code paths, fixed a lot of locking stuff, added wakeup*() methods to the suspendable channels
Prep 3.0.0.Beta9
Next is 3.0.0.CR1
Code cleanup; more efficient task dispatch; only execute listeners if their interest ops are activated
Add compatibility methods to the SASL wrapper classes
Add thread group configuration
wakeupAccepts() method for consistency
Fix ClosedChannelException thrown by TranslatingSuspendableChannel.readListenerCommand.

Given that NioTcpChannel.shutdownReads and shutdownWrites may have the effect of closing the channel, and the fact that a pending readListenerCommand may be executed after that, we need to check if the channel is still open and readable before trying to perform a read.
Fix JsseConnectedSslStreamChannel and add SSLEngineMock tests.
Add isReadResumed/isWriteResumed methods
Add configurable task thread pool for XNIO workers; make the channel threads available for timer tasks and later execution
Use ExecutorService-style shutdown instead of Closeable to avoid condition where the executor is shut down from within itself
Add API to allow explicit specification of key managers and trust stores, independently of implementation
Add the ability to override the peer host name and port number which is passed to the SSL provider as the remote identity
Add API for adding random data to a buffer (i.e. secure heartbeat messages)
First stage of read/write timeout support, for dead connection detection
Correct logic of server RST close test so that the client side only closes the channel if there is an exception or data was (unexpectedly) read
Make JsseConnectedSslStreamChannel.read return 0 instead of blocking when there is no data available to read on the channel.
Update JsseConnectedSslStreamChannelReadWriteTestCase accordingly.
Update NioSSlTcpTestCase.testServerTcpNastyClose: read and write listeners should resume the operation if the attempt to read or write returns 0.