Switch to mondoDB

This merge implements the MongoDB refactor.

What happens if the givenName is a duplicate? Is a given name just a first and last name? If so, it's possible for two users to have the same name, but choose different usernames. Will this be a problem?