Fixing some holes in authentication

* Steps to ensure accounts are logged out properly (refactored out a new
performLogout method)
* New check to ensure we have all the optional fields for login (needs
more thought)
* Refactored processValidLoginAttempt to processLoginAttempt to more
accurately identify what it's doing
More AI project based merging and doc.
Unfinished work on Lobby screens

* Documentation improvements
* Factored out the registration state handling of auth messages due to
depth/complexity
* An attempt at the Lobby