Introduce authentication and basic authorization in the server.
- When enabled, all requests must be authorized using an authorization token
- Token is acquired by authenticating with a username/password tuple.
Introduce webadmin support for auth.
Merge pull request #3460 from jakewins/2.2-auth-server

Introduce authentication and basic authorization in the server.