Login logic needs to be DRYed up and brought in line with the rest of our fetcher architecture.
- Create an Authentication Controller singleton that has high level methods for login/account creation and holds user information
- Move logic from login / account creation VCs into the new class
- Modernize fetchers to use Promise based API in line with the newer fetchers
- Move auto login logic from session singleton into the new class
- Refactor view controllers to use this new class
- Add WMF prefixes to classes
- Remove legacy auth code