Added new class to encapsulate the whole client connection session.
It will hold the client TCP Socket and can be extended for further
functionality.
Moved new incoming connections to the ClientSession class instead of
handling the TcpSockets directly.
Identifying Clients by a auto-incrementing Client ID which should be
unique. This will make it easier to keep track of open sessions and to
get the log output for single clients.
Connecting the clients TCP Socket to the IncomingDataHandler.
Added the IncomingSocketDataHandler to the ConnectionHandler.
New incoming connections will directly be tied to the data handler.
Updating timestamps when new client data arrives or the client
disconnects.
Removed sessionId from IncomingSocketDataHandler
Using the ClientSession to transmit incoming data instead of the TCP
Socket itself.
Added new class to encapsulate received commands from clients and track
them with a unique session ID.
Added generic Session class
ClientSession using the new Session super class
CommandSession using the new Session super class
ClientId is now 64 bits long
Moved getter function for unique ID to super class