session: docs, PEP8 and PEP257 improvements

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix database create error message

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
workflows: cleaning of engine calls

* Removes generation of another object snapshot when continuing a
  workflow causing many duplications in the database.

* Reuses the same workflow when continuing a workflow, as it was
  originally intended.

* Improves current workflow integration to be cleaner, using defined
  interfaces instead of updating closed variables.

* Adds new restart point, 'first', to re-start a workflow engine from
  first object and/or first task (callback).

* Removes resetting of engine `extra_data` when restarting workflow.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
BibClassify: case insensitive taxonomy

* Fixes a bug where the look-up of ontology names from the
  taxonomies were forced to lower case.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
BibClassify: PEP8 and PEP257 fix

* Improves PEP8 and PEP257 across ontology_reader.

* Removes any rdflib checks which is no longer needed as this
  library is (1) mandatory and (2) mandatory at a high version.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
BibClassify: error handling and PEP8

* Adds a new exception type TaxonomyError when there is a problem
  reading the ontology passed to legacy BibClassify.

* Performs some PEP8 fixes across ontology_reader.py and engine.py.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: object navigation

* Adds buttons for going to previous/next object from the main table
  in the Holding Pen detailed display. The previous/next functionality
  is based from the state of the main table order.

Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: use static function

* Use function to create BibWorkflowObject instead of instantiating
  directly in start_workflows() function.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: update MARC views

* Updates the HTML, RAW and MARC views in the details page.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: detailed workflow task list

* Calculates the path of tasks that workflow has
  followed and represents it on Holding Pen detailed record display
  with different colors for completed, current and remaining tasks.

* Task names to display are chosen from the description attributes
  of the task, if not present from the first line of the docstring,
  if still not present, the function name is finally used.

* Adds a decorator to pass the attributes (docstring, name) of a
  function to its closure.

Tested-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: PEP8 fixes

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: signals addition

* Adds signals to workflows for when a workflow is started, halted
  and finished.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: classifier task result addition

* Adds task result template for classifier/BibClassify to show
  extracted keywords etc. in Holding Pen.

Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
OAIHarvest: workflows in admin

* Adds the workflows colomn in the legacy admin interface.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
oaiharvester: initial upgrade

* Adds initial upgrade script from Invenio v1.x for oaiharvester module.

* Updates the workflows column with default and `NOT NULL`.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
oaiharvester: workflows integration

* NOTE Adds default workflows and tasks for OAI harvesting which
  is now required to run OAI harvest. A working Celery worker is
  necessary to run harvests.

* NOTE Moves harvesting specific tasks, tests and workflows from
  workflows module to oaiharvester module. If you have used any of
  these tasks or workflows in your workflow configuration you need
  to amend your imports.

* Adds warnings and help messages on OAI Admin display.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>