Abstracted user DB operations to a user repository.
Created generic repository service provider.

Allowing for DI of various repositories configured in the prod
configuration.
Updated User provider to accept the user repository.