Factor out RequestChannel interface (to support channels not based on netty)
Pass client config to channel connector methods

Header connector will use this to get the netty timer to use for
authentication calls
Pass config objects to security factories

Make the client/server configs accessible respectively to the
client/server security factories. The primary use for this currently
will be for the security factories to get the shared timer which will
can be used for security-related timeouts.
Move TInputOutputCompositeTransport to core

Moving this here from header protocol code, where I will use it to maintain
a single pair of protocols/transports for the lifetime of a client
connection (instead of creating a new protocol/transport pair for each request).
Reuse protocol/transport pair for client conns

Switch from creating a new protocol/transport pair for every new client
requests, to creating a new one for every client connection.
Disable inclusion of commons-logging in load tester

nifty-load-tester uses airlift/bootstrap, which brings in jcl-over-slf4j. Can't bring in both jcl-over-slf4j and commons-logging.
Update dependency versions for release
Bump to version 0.14.0-SNAPSHOT
Revert "Reuse protocol/transport pair for client conns"

This reverts commit baaa1958fdc01b250ad503d5fd7f0eaf2d0d8a7d.
AbstractClientChannel should not swallow inner exceptions
Don't allow sending requests on a channel that has errors

As a result of a recent change that fixes the ordering of closing the channel and calling the error callbacks for any active requests, there could be cases where a callback for a request failure tries to retry the request on the same channel. We should fail such requests immediately, because the channel is about to be closed anyway.
Cleanup/clarify client channel exception handling code
Make NiftyRequestContext's constructor public so it can be used elsewhere
Create NiftyClientRequestContext for client side use.
Use requestSequenceId in sendTApplicationException.

It uses seqid of incoming messages which is unreliable. The test cases in TestPlainServer works because java client uses an incremental seq id starting from 1 and the requestSequenceId in NiftyDispatcher is maintained the same way. The php client uses a seq id of 0 and breaks.