Adds TCP Packet-based multiplayer support.

Using the Transmission Control Protocol, Packets are send and recieved with minimal overhead.
As seen in ServerGame.java, a readThread waits for data to be recieved, a packet ID is received and the allocated packet continues the transaction.
Packet.java defines required packet methods, and registerPacket is called to allocate an ID.