workflows: several updates

* Adds a new workflow for harvesting workflow with BibSched
  integration.

* Updates several workflow tasks used by the above workflow.

* Several PEP8 and cosmetic fixes.
workflows: improve engine function

* Makes the BibWorkflowEngine function to return the current
  task/function name a bit more robusts and renames it from
  getCurrTaskName to get_current_taskname.

* Some minor PEP8 fixes.
workflows: better exception handling

* Adds a new file errors.py that contains all custom workflows
  exceptions as per the new standard.

* Improves the exception handling in BibWorkflowEngine and
  client.py.
workflows: harvesting workflow improvements

* Several updates in the 'generic_harvesting_workflow'.

* The workflow tasks in marcxml_tasks are now using the OaiHarvest
  models correctly in terms of loading arguments deserialized.

* Removes duplicate code in client.py.

* Updates demosite regression tests.

Co-authored-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
records: 404 if record not found

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
makefile: ckeditor config addition

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
deposit: pybabel fix

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
cloudconnector: imports and pybabel fixes

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
webalert: pybabel fixes

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
Merge pull request #127 from adrianp/poo

fixes
Merge pull request #126 from jalavik/workflows-engine-updates-rebased

Workflows engine updates rebased
cloudconnector: statics move

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
webbasket: fixes

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
Merge pull request #128 from adrianp/poo

fixes (again) and statics move