workflows: Holding Pen cache update

* Changes usage of Redis to use invenio.ext.cache to conform
  with cache usage elsewhere in Invenio.

* Removes duplicate code and restructures code with focus on
  clean code.

* Adds a new get_workflow_name() function to BibWorkflowObject.

* Changes the __all__ variable to a tuple.

* Updates bundles to remove unused and duplicate JS.

* Adds missing dataTables import in main table template.

* Simplifies the tags session handling.

* Fixes `BibWorkflowObject.add_task_results` calls outside workflows.

Reported-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>