Big refactor of persist module

- Change a lot of package names
- Removed the construction of a new MetricRegistry in RestApplication.
  This is now obtained from the environment as it should be.
- Considerable addition of functionality around user registration (not
  working yet)
Tidy up loggng in RestApplication and AuthenticationCacheProvider
Complete user registration and authentication with MongoDB as the user
repository

- Refactor MongoFactory to build a collection with the collection name
  provided by the Repository and not a configuration file