Add validation to invite new user form.

Closes #3246
- Add a UserValidator to the validation engine that runs a set
  of validations based on the user status.
- Added validations for invited users and active users.
Re-add back to Users button and make whole user item a link.
Check the end of notification fade-out animation
Use bookshelf's model registry plugin

Refs #2170

This removes the circular dependency problem from our models thanks to
https://github.com/tgriesser/bookshelf/issues/181
- add the registry plugin
- switch all models and collections to be registered
- switch relationships to be defined using a string, which calls from the registry
Merge pull request #3247 from PaulAdamDavis/user-link-links

Make user list links and add "< Users" button
Merge pull request #3248 from jaswilli/issue-3246

Add validation to invite new user form.
Merge pull request #3256 from PaulAdamDavis/fix-notification-flicker

Check the end of notification fade-out animation
Merge pull request #3258 from ErisDS/model-registry

Use bookshelf's model registry plugin
Refactor settings routing and mobile interactions

Closes #3254, closes #3138, closes #3245
 ### Settings Routing and View refactoring
- Refactored `SettingsView` to handle transitions between mobile and desktop layouts
- `SettingsRoute` will only transition to `settings.general` if the screen is large enough to show both the menu and the content
- Added `SettingsIndexView` to handle showing the settings menu on mobile screens
- Added `SettingsContentBaseView` to be inherited by any settings view that is not index.
- Updated Settings templates appropriately to work with new views
- Removed extraneous `active` class from `settings-content`
- Changed settings menu to use `gh-activating-list-item`
- Retooled settings tests

 ### Mobile Utils
- Renamed file to `mobile.js`, since it's inside of `utils/`
- Added `mobileQuery` MediaQueryList to help detect layout changes
- Removed unused `hasTouchScreen`, `device.js` should be used instead.
- Removed unused `smallScreen` function
- Moved FastClickInit to codemirror-mobile