Removed explicit dependence on SessionApp for AuthApp

Moved registration and account handling to an Account plugin.
Added support for unregistering an account as well as explicit
registration by email vs username and with or without password (less
stringly typed).

Added backend-specific data types for Claims, Credentials, Errors, and
UserInfo with useful defaults, the defaults being:

- default credentials supporting password, (soft)hostname, 2FA
token, device token, and JWT tokens.
- empty default for UserInfo
- empty default for Claims
- expanded set of errors based on implementing a real application backend.