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>