global: new code structure

* Adds Sphinx documentation.

* Moves Jinja2 templates to the new code structure
  `invenio/modules/<name>/templates/<name>/index.html`.

* Adds new tag module developed by Krzysztof Lis
  <krzysztof.lis@cern.ch>.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Co-authored-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
Co-authored-by: Krzysztof Lis <krzysztof.lis@cern.ch>
Co-authored-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
documentation: initial release with manage command
workflows: move to new structure and fixes

* 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 things to redis sorting.

* 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.

* Updated the new logging structure to work better
  overall and fit with the new code structure.

Co-authored-by: Wojciech Ziolek <wojciech.ziolek@cern.ch>
Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
base: blueprint static folder check addition

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
cache: use CFG_DATABASE_NAME as CACHE_PREFIX if not specified
BibDocFile: port of plugins discovery
accounts: LostPassword form import addition

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
base: initial port from pluginutils
upgrader: initial port using autodiscovery
search: templates javascript fix
global: move to new code structure

Co-authored-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
workflows: holding pen changes and additions

* Creates a standard structure for widgets rendering and
  resolving.

* Adds installation of ColVis and Bootstrap themed DataTables.

* Adds color on hover in table and several keybindings, like
  select several rows with shift plus arrow key, escape for
  deselecting rows etc.

* Adds new batch Approval widget

* Adds filtering with tags in UI display.

* Simplifies several methods in HP blueprint

* Removes old references to BibWorkflow elements in templates
  and views.

* Fixes several CSS and JS inclusions in templates.

* Makes URL's configurable where applicable.

* Fixes bad import statements in widgets.

* Creates a standard structure for widgets rendering and
  resolving.

* Adds breadcrumbs, timeago, alerts.

* Fixes sorting, pretty_date and css.

* Several improvements in HP templates

* Adds color on hover in table and several keybindings, like
  select several rows with shift plus arrow key, escape for
  deselecting rows etc.

* Adds new batch Approval widget

* Adds filtering with tags in UI display.

* Simplifies several methods in HP blueprint.

* Removes old references to BibWorkflow elements in templates
  and views.

* Moves JS files from old to new structure.

* Fixes several CSS and JS inclusions in templates.

Co-authored-by: Konstantinos Kousidis <konstantinos.kousidis@cern.ch>
Co-authored-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
formatter: fix broken bfe_comments

* Fixes the broken import statement in bfe_comments.

* Changes slightly an if statement in
  format_with_format_template to catch more cases.

Co-authored-by: Konstantinos Kousidis <konstantinos.kousidis@cern.ch>
comments: order by creation date

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
base: fix config autodiscovery order
base: errorlib and logger consolidation
global: move to new code structure

Co-authored-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
Co-authored-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
comments: stops toggle event propagation

Signed-off-by: Adrian-Tudor Panescu <adrian.tudor.panescu@cern.ch>
workflows: fix broken import
accounts: legacy webuser import fix