Added ProtocolDataUnit class and refactor. Begins isolation of the game protocol.