Login v2 API

Introducing the v2 Login API, backed by the original Admin.Login logic. Builds on proposed pull request #367.
I'm confused by this. Why is MaintenanceNoLoginError a suitable error when the API server doesn't know about the response from the login validator function?