Add tests for ServerChannelManager
Add ClientChannelManager
Add HelloMessageHandler

Handles incoming HelloMessages. If the handler is the master it checks to see
if there is an existing connection and decides whether or not the new one
should be dropped.
Add remote UUID to ConnectionEstablishedMessage
Add ConnectionEstablishedMessageHandler

If this is a slave and it receives a ConnectionEstablishedMessage
this handler will mark the channel as active.
Add ClientChannelInitializer
Add HandlersByApplicationID

HandlersByApplicationID provides an easy way to specify multiple handlers
that are distinguished by the Application ID they belong to. It also allows
to specify a default handler which will be used if there is not handler
for a given Application ID.
Add MessageHandlerManager

MessageHandlerManager is used to provide a hierarchy of MessageHandlers with
fallback to default handlers or less specific handlers should no MessageHandler
be defined for a given Message class.
Add interface RemoteUUIDResolver
Add ResponseFutureManager

Manages FutureNotifiers that are used to inform about Responses that were
received after sending a Message.
Add ClientMessageDispatcher

The ClientMessageDispatcher takes incoming messages, calls the apropriate
MessageHandler and sents the Response back to the sender of the message.
Add ResponseInvalidator
Add TCPConnectionManager
Add adding of MessageHandlers
Add DelegatingConnectionListener