Networking Server Re-wrote

* ConnectionState interface renamed to IConnectionState and includes a
Disconnect method now.
* Server now contains a collection if IConnectionState objects instead
of IPlayer, since a IPlayer object is not always guaranteed to be
networkable.
* Server.startListening is now Server.Connect.
* Server code is 60 lines of code lighter and has a better Asynchronous
system in place.
* Clients can now connect without issue.
* Player networking code is 17 lines less and fully asynchronous.
* Player.ReceiveData method now works and receives text entered by a
users telnet client.