Changed Server-Client hierarchy in server.

Added a Client class to represent a connected Client.
Also stored Clients, WebSockets and IDs in Maps for near-constant access,
and added getters/setters, cleaned up unsused methods and fields, and wrote
all JavaDoc for Client and Server classes.