Refactor Login controller and auth to be more modular and easier to extend/override. Added extra method to Auth interface and documented Auth interface completely. Created new PasswordResetter class to contain password reset logic.
Use superuser access when changing user password in PasswordResetter.
Fixing Login UI Tests.
Fix AccessTest integration test.
Add breaking change for Auth interface changes.
Refactor Auth::initSession method into its own class (SessionInitializer) since the logic will be common to all authentication implementations. Includes tweak to docs of UsersManager API method and additional methods to Auth interface.
Fixing AccessTest.
Revert UsersManager API change since it breaks BC for API users of getTokenAuth.
Fixing LoginTest.
Merge pull request #6321 from piwik/login_controller_refactor

Refactor login controller; move auth logic to Auth class and password reset logic to new PasswordResetter class.