All-in-one commit with many framework upgrades

* New models for Database, User, Role, Session
* Remove all legacy code for MongoKit, fixing bugs and updating to the
  new MongoEngine framwork in the process
* Add Flask-Security + Flask-Login Flask-Mail to handle logins, emailing
  new users, password management, login verification, and secure
  CSRF-proof forms
Reorganize app creation and improve configuration loading
Add URL preprocessors to automatically convert and get parameters
Remove more old model files and reorganize requirements
Shibboleth logout support
Merge branch 'data_model'

* data_model:
  Shibboleth logout support
  Remove more old model files and reorganize requirements
  Add URL preprocessors to automatically convert and get parameters
  Reorganize app creation and improve configuration loading
  All-in-one commit with many framework upgrades