Implement users and credentials

* Users can log in
* Users can be instantiated with an ID in addition to URL/name/password
* Credentials can be saved in a global location (and loaded again!)