Add FactoryGirl
Make current_user an object

Extracting responsibility for validating the domain makes it easier to
test, and returning an object rather than a string allows for easier
enhancement in the future.
Add groups

This is just scaffolded to start with