Support OpenID logins; Modify user datastore struct

Allow users to log in using an OpenID Federated identity provider.
Store the federated identity as a (hopefully) human-readable account
identifier.
Incorporate review comments
Panic if user is incorrect.