Create Impl module to hold concrete implementation of Tagger
operations (repositories in this case)
Rename user repository operations for qualified imports
Rename AuthenticateUser to Authentication.Authenticator
Provide a concrete implementation of it in the Impl.Authentication.Authenticator module and use it instead of
creating an ad-hoc one in the AppServices.
Better names for Authentication errors
Move credentials to Tagger
Split definition and implementation for AuthenticateUser
Impl.Authentication.Authenticator
module and use it instead of creating an ad-hoc one in the AppServices.