base: dropdown menu and mobile UI fix

* Fixes dropdown menu. (addresses #1994)

Signed-off-by: Adrian Baran <adrian.pawel.baran@cern.ch>
deposit: s/deposition/deposit/

* Changes the word 'deposition' to 'deposit'. (closes #1915)

Signed-off-by: Adrian Pawel Baran <adrian.pawel.baran@cern.ch>
template: Flask 1.0 compatibility fix

* Fixes return value of Jinja loader iteration due to change in
  Flask 1.0. (closes #2216)

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@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>
workflows: clean engine calls

* No longer generates another object snapshot when continuing a
  workflow causing many duplications in the database.

* The same workflow is re-used when continuing a workflow, as 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).

* Cleans up obvious, unneeded comments.

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