Add the user's email address on registration
This adds a newly-registered user's email address on the homeserver, so Synapse can send emails about new invitations, knocks, or messages, etc.
To do so, we add support for the Synapse Admin API which requires that we create an admin user for Swiclops. Now Swiclops loads the username and password for this user from its config, and it logs in to the homeserver at runtime to obtain its Matrix credentials (full user id, device id, and access token).
This MR updates several of the UI auth checkers and endpoint handlers to load the Matrix backend info out of the Vapor Application
at runtime. We had to store the admin creds there, so it was natural to put other info like the homeserver URL in the same central location too.