Authentication & Lobby work

* More missing Javadoc descriptions for docs
* Added transition to lobby on LOGIN_SUCCESSFUL
* Added handling for extra authentication failure
* Added functionality to give user information for errors.
* Added client-side checks to limit number of login and registration
attempts.
Improved javadoc

Refactored Exception to improve documentation.
Removed unnecessary TODO for getUsername