BibWorkflow: multiple fixes

* Fixes display of modal window for workflow and objects details.
* Moves JavaScripts to separate files.
* Changes the way that BibWorkflowObjects are created - strict
  dictionary format for API functions.
* Adds MIME type evaluation function.
* Changes data structure in a few places (e.g. new  URI field).
* Fixes tests for new data structure.
BibCirculation: unnecessary imports

* Removes double imports.
Miscutil: sqlalchemy JSON -> MutableType

* Decorates JSONEncodedTextDict with MutableDict due to non-
  propagating changes from JSONised dictionary to database.
BibDocFile: fixes a typo
BibWorkflow: Wfe model refactoring

* Removes user_id from WfeObject.
* Moves task_counter, error_msg and last_task_name to extra_data.
* Adds latest_object field to WfeObject.
* Fixes created and modified fields in db model.
* Removes unnecessary prints.
BibWorkflow: database logging

* Adds database logging for workflow engine
* Fixes created and modified fields in database.
BibWorkflow: __str__ for BibWorkflowObject and BibWorkflowEngine

* Adds __str__ function for BibWorkflowObject
* Adds __str__ function for BibWorkflowEngin
* Adds __str__ functions for WfeObject and Workflow models
BibWorkflow: rebase, changes to BibWorkflowObject, new save methods

* Fixes error catching from workflow tasks
* Fixes object logging
* Changes db.JSON to Mutable type
* Moves all functions from BibWorkflow to WfeObject model
* Adds new BibWorkflowObject state: RUNNING
* Changes save methods for BibWorkflowObjects
* Adds new unit tests
* Adds some fixes for tasks

WebDeposit: import fix

* Fixes import of WfeObject - changed to BibWorkflowObject
BibWorkflow: restart & continue functions fixes

* Adds continue function
* Fixes restarting functions
* Adds test for continueing and restarting execution
* Removes some unused code
BibWorkflow: add HoldingPen interface

* Adds the HoldingPen interface which is going to replace the
  existing holding-pen functionality in OAIHarvest (will happen in
  the future).

* Adds a new web-interface called Holding Pen to display incoming
  objects (currently BibWorkflowObjects) that requires some sort
  of validation or intervention before being entered into the system.

* Adds new widget-support in Holding Pen in order to have custom
  UI Widgets related to workflow tasks that needs to be resolved by
  a human operator.

  * Widgets implemented: BibMatch Match Resolution
                         Ingestion Approval

* Adds and changes standard tasks provided by BibWorkflow to
  accomodate this change.

* HoldingPen manages HPContainer objects which wrap the various
  versions of a BibWorkflow object with extra metadata.

* Uses google-code-prettify to display xml code in the browser.

* Uses jQuery DataTables for the main display of HP records.

* Adds new data-type property to BibWorkflowObject (WfeObject) model.

Co-authored-by: Wojciech Ziolek <wojciech.ziolek@cern.ch>
Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
BibWorkflow: Add logging for object

* Adds log_info log_error log_debug into BibWorkflowObject.
* Removes old configuration in bibworkflow_config.py.
* Removes old import and code related to the old logging system.
* Adds in several file logging instruction for objects.
* Adds unit test and fix several small bugs.

Conflicts:

	* Merged by Jan Aage Lavik <jan.aage.lavik@cern.ch>
	* Merged by Wojciech Ziolek <wojciech.ziolek@cern.ch>
	* Merged by Dinos Kousidis <konstantinos.kousidis@cern.ch>

	modules/bibworkflow/lib/bibworkflow_admin_blueprint.py
	modules/bibworkflow/lib/bibworkflow_client.py
	modules/bibworkflow/lib/bibworkflow_engine.py
	modules/bibworkflow/lib/bibworkflow_model.py
	modules/bibworkflow/lib/bibworkflow_worker_engine.py
	modules/bibworkflow/lib/workers/worker_celery.py
BibWorkflow: Approval Widget finished && Sorting ss
BibWorkflow: HP latest state

* using non-grouping hpcontainers class

* add missing web-files for datatables

* added credits in THANKS file

* PEP-8 cosmetics
BibWorkflow: PEP-8 compliance in all files
BibWorkflow: simplified data

* Adds support for non-dictionary for of data passed to workflow.
* Adds test case for simplified data.
* Reverts database tear down after tests.

Conflicts:

	modules/bibworkflow/lib/bibworkflow_model.py
BibWorkflow: db foreign keys names changed

* Changes names of foreign keys in BibWorkflow tables to keep
  them consistant with other data tables
  (workflow_id -> id_workflow).

Conflicts:

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

	modules/bibworkflow/lib/bibworkflow_client.py
	modules/bibworkflow/lib/bibworkflow_hp_blueprint.py
	modules/bibworkflow/lib/bibworkflow_model.py
	modules/bibworkflow/lib/bibworkflow_unit_tests.py
	modules/bibworkflow/lib/bibworkflow_utils.py
	modules/bibworkflow/lib/bibworkflow_worker_engine.py
BibWorkflow: unit test PEP8 and data cleanup

* Many PEP8 and cleanup changes.
* Various cosmetic API changes.
* Improves Celery worker plugin code.
* Updates unit tests.
BibWorkflow: API names changes

* Changes API functions names (renames functions everywhere
  they were used).

* New way of dealing with data passed to workflow.

* Updates unit tests and fixes minor bugs.
BibWorkflow: `Workflow` API prototype
BibWorkflow: API updates

* Several changes to BibWorkflow API:

  * The way run a workflow in a task queue has changed from a
    task_queue parameter into seperate "delayed" functions, such
    as start_delayed() or continue_oai_delayed().

  * Adds custom kwargs to be passed to all workflow API functions
    that will be put into the workflow engine's extra_data column.

    This allows one to access this data from the workflow tasks.

  * Documentation improved and corrected overall. Especially in
    bibworkflow_api.

  * Updated worker plugins to reflect these new changes.

  * Updated unit tests to reflect these new changes.

* Renames several functions from camelCase to underscore_case.

* Removes a trailing space in Makefile.

* Adds a custom exception in bibworkflow_worker_engine instead
  of raising ValueError.

* Changes worker API names

* Removes references to external_save as it is no longer used.

* Various fixes to the Holding Pen, improving PEP8 etc.

* Restructuring of folder structure.

* Fixes many kwalitee issues.