Added interfaces and implementations for project host login, sign up, and forgotten passwords.

Also, some minor cleanup here and there.
An interim commit just to get things out the door.