Greatly simplified the User domain class configuration.
Refactored the User repository setting code to allow more flexibility in changing User instance repository dependencies.
Added comments to the ScratchConfiguration class.
Updated the UserTests so that they work with the new User class.
Reformatted the code.
Fixed the User.equals(Object) method and the UserTests.