Refactor Authenticator to make it more testable

Move GetAuthTokenCallback into its own class and pass dependencies
through constructors to make AppEngineAuthenticator and
GetAuthTokenCallback easier to unit test.
Add test stubs for authentication classes