BibDocFile: port of plugins discovery
Merge remote-tracking branch 'adrianp-github/cswwd' into code-structure-with-webdeposit
BibWorkflow: handling custom BibWorkflowObjects

* Fixes handling BibWorkflowObject created by the user outside
  of the workflow. When BibWorkflowObject is created by user and
  it's in RUNNING version and it doesn't have id_workflow it will
  be the object that worfklow is working on (data and state will
  be changed). There will be extra INITIAL object created to save
  state of the object at the begining. It allows the user to know
  object id befor processing it.
* Adds more thing to redis sorting.
BibWorkflow: logging refactoring

* Refactors the logging system in BibWorkflowObject and
  BibWorkflowEngine, adding new logging handlers to save
  logs to both database and stream output.

* Logs are now added using the API of the logging module,
  for example obj.log.info instead of obj.log_info as before.

  NOTE: There is however a known issue that log.debug is
        not functioning properly - possibly due to Celery
        resetting logging levels.

* Changes the BibWorkflowObject model to store extra_data
  in the same way as data. Meaning, using the "hack" made
  for storing data as LargeBinary. This means that outside
  the scope of workflow tasks, obj.get_extra_data() and
  obj.set_extra_data() must be used to access and update this
  field.

Co-authored-by: Wojciech Ziolek <wojciech.ziolek@cern.ch>

Conflicts:

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

	invenio/modules/workflows/models.py
	modules/bibworkflow/lib/bibworkflow_engine.py
	modules/bibworkflow/lib/bibworkflow_regression_tests.py
workflows: migrated new logging structure

* Updated the new logging structure to work better
  overall and fit with the new code structure.
redirector: initial move from `goto`
WebComment: first iteration of record notes

* Notes are extracted from record comments using regular expressions and a
collection of predefined markers;
* Notes are extracted at comment creation time and persisted to the database;
* Notes are displayed similar to comments, but in a different template;
* Other features: modular extraction regex, unit tests, mark note as viewed DB
support.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
WebComment: hierarchic notes support

* Notes can now be hierarchic: Note on Page 1, Fig. 3;
* Refactoring.
WebComment: templates restructuring

* Notes are now displayed as a custom view for comments;
* Notes and Comments share a base template, which they customize.
comments: notes porting

* Ported notes code from legacy to new structure

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
comments: textarea resize

* The comments' text area is now larger.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
webcomments: utils removal

* Removed webcomment_utils.py as it was moved to the new structure.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
comments: GUI howto-notes addition

* Included 'add comment' form tooltip which explains how to add notes.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
comments: notes warning

* Added a warning when viewing the notes, informing the user that this is a
summarized view of the record discussion.

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
solved merge issues

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>