pidstore: provider status sync and celery tasks

* Adds feature to synchronize the status of a persistent identifier
  with the provider. Useful for cases where the status of an
  identifier might have been modified in an external service.

* Adds namespace prefix to configuration variables.

* Adds celery tasks to registering DataCite DOIs for records.

* Fixes some PEP8 errors.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
communities: documentation fix

* Fixes import example in documentation.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
access: module import fix

* Fixes typo in module import.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
celery: signal handling fix

* Fixes issue where signals handler could be called multiple times
  when multiple celery applications where created.

* Moves test case to celery package.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
celery: test case helper

* Adds testcase class helper for easier testing of Celery tasks. The
  helper will create a new Celery application per test, similar to the
  way InvenioTestCase creates a Flask application per test.

* Adds example test case using the new helper.

* Removes no longer needed test runner hack.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
logging: error reporting refactoring

* Refactors register_exception to use Flask application
  logging, and split functionality into a Python logging
  handler and formatter.

* Adds support for logging exceptions to Sentry.

* Disables email error reporting when in debug mode.

* Deprecates certain error logging function by moving them
  to the module where they are used. This is done to create
  a much simpler API.

* Fixes PEP8 errors.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>