WebDeposit: refactor to class-based design

* Refactors WebDeposit to a class-based design to simplify data handling and
  allow easier customization.

* Adds storage abstraction layer for WebDeposit based on PyFilesystem.
pidutils: add pid normalize feature

* Adds support for normalizing a persistent identifier.
  E.g. http://dx.doi.org/10.1234/foo is normalized to
  10.1234/foo.
BibWorkflow: fix typo in worker import path

* Fixes a typo in the worker import path.
WebStyle: fix blueprint loading refactoring issue

* Fixes an issue introduced during refactoring from pluginutils to
  importutils loading.
WebSearch: add bibdocs to record context
installation: initial upgrade recipe for next

* Create WebDeposit tables.
WebStyle: nice error page view decorator

* Add flask view decorator that will catch specific exceptions and
  render a nice error page for the end-user. The decorator is
  complementary to the normal Flask error handlers for 404 and 500
  HTTP errors.
WebStyle: install I18N Jinja2 extensions

* Load Jinja2 I18N extension.
testutils: add test mail server to inveniomange

* Adds inveniomange command to run a test mail server which prints
  all received messages on the console.
oairepository: automatically compute model field

* Connects OaiREPOSITORY model to SQLAlchemy events to ensure field
  setDefinition is properly computed on db insert/update when using
  the SQLAlchemy model.
celery: add manage commands to start worker

* Adds inveniomanage commands to start a celery worker.
installation: change ckeditor version to 4.1.1
WebSearch: add files in view instead of template
WebSession: minor changes to templates
WebStyle: disable author pages
OaiRepository: expose restricted records

* Temporary fix to expose records even if they are restricted
  (e.g. by being part of a provisional user collection).
WebSearch: fix restricted collection search

* Fixes an issue where a guest user could not search for records
  in a restricted collection authorized for to the guest user.
BibExport: fix Flask init issue
WebSession: fix login without email activation

* Fixes an issues where users could login without verifying their email
  addresss. This would have the side effect that inveniogc would remove
  the account after X number of days, if users did not validate their
  email address.
BibFormat: add extra context in formatting

* Adds possibility to ingest extra context variables to
  format_record in templates.