Cleanup\Bug Fix: Cleanup client library,  fixes

Technical Description:
- Client library underwent a massive code cleanup. UnknownClient is now
abstracted into TCPClient,UDPClient, and DualstackClient Fixes #11
- If authentication fails, the connection will now be terminated.
Partially handles #12
- Fixed issue with parsing server configs
- Fixed logging regression that caused server to double-log
- Clients now disconnect themselves if no keep alive packets have been
sent in 3 seconds. Partially handles #12
- Server now shuts down clients after they disconnect. #13