workflows: improvements and fixes
workflows: improvements and fixes

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

* Updates several workflow tasks used by the above workflow.

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

* 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.

* 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.

* Fixes some Babel string problems.

Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Co-authored-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
Co-authored-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>

NOTE: beware, patch amended by Tibor to use new file names

tiborsimko/invenio-records,tiborsimko/invenio-records,inveniosoftware/invenio-records,inveniosoftware/invenio-records