formatter: format record with no record ID

* Adds back support of the case where BibFormatObject also
  can support to work with records without any record ID.

Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Co-authored-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: Holding Pen change

* Adds new BibClassify workflow task for faster execution, taking
  only parts of the document instead of it all.

* Now saves the BibWorkflowObject after removing the action.

Acked-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Guillaume Lastecoueres <PX9e@gmx.fr>
workflows: error message improvement

* Properly sets error messages upon unexpected errors during
  workflow execution.

* Integrates the error messages into the Holding Pen detailed
  view of an object as a panel.

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

* Changes wells to panels in the record detailed display.

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

* Adds integration of tasks results into the object model and
  detailed display.

* Tags filtering now keeps the tags when user updates the page by
  using session.

Co-authored-by: Guillaume Lastecoueres <PX9e@gmx.fr>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: update tags placeholder text

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

* Adds WorkflowBase class that define the basic function
  a workflow needs to render correctly its processed
  objects.

* Upgrades Holding Pen to print correctly the changes.

* Adds the functions needed to the basic workflows.

* Adds task results to workflows management functions
  for updating progress bar in Holding Pen.

* Moves brief formatting to the workflow instead of
  the BibWorkflowObjects to allow everybody to choose
  their way to format them.

* Various fixes to Holding Pen JavaScript.

Acked-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: update quick_match_record

* Refactors the quick_match_record a bit.

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

* Also adds Holding Pen main table pagination on top of the
  table in addition to the bottom one.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: tags display fix

* Amends Holding Pen main table to properly show all
  records when all tags are removed.

* Fixes a problem with Holding Pen main table display when
  sessions are cleared.

Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: reduction of ajax request

* Reduces the number of requests triggered.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: definitions fix

* Changes the methods get_description, get_title and formater
  to static and obj argument to bwo.

* Adds WorkflowBase inheritance in marcxml_workflow
  and sample_workflow

* PEP8 fixes.

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

* Adds a delayed option to BibWorkflowObject functions to
  start and continue workflows.

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

* Removes the tight coupling to WTForms when designing UI widgets
  for actions in the Holding Pen. Now jinja2 templating can be
  used to render the action.

* Removes the need to dynamically load the actions js files.

* Updates the sample "approval" action to use jinja2 templating
  and simplifies the accompanying js file.

* Removes much unused or unnecessary code including unfinished
  actions and the few defined WTForms fields that are no longer
  used

* Updates the Holding Pen templates to be simpler as a result of
  merging the /actions and /details view into one page (details).

* Updates Holding Pen js files to no longer have hard-coded
  references to the "approval" action.

Co-authored-by: Guillaume Lastecoueres <PX9e@gmx.fr>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>