TCP connection WIP

Added listener to server, receives client connections and times-out if
no data is sent.
Moved all TCP implementation into one project

Both client (TcpConnection) and server need to share protocol
definition, this makes it much easier.
TCP initial connection

- Basic protocol in place for TCP communication.
- Connection and Server send and respond with handshake messages to
confirm connection. Connection currently sends no further messages -
server closes connection on timeout.