workflows: snapshot generation fix

* Fixes the generation of snapshots to take into consideration
  the new ObjectVersion's ERROR and WAITING.

* Adds a new test to cover this issue.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
oaiharvester: record splitting improvement

* Improves the splitting of records from OAI-PMH requests to also
  handle the case of MARCXML from other Invenio instances.

* Defers the splitting logic to a XML parser and moves some utility
  functions to a new utils file in the new module structure.

* Adds tests for these utility functions.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: Holding Pen file serving fix

* Fixes the file serving used in Holding Pen details pages
  to also serve files that were automatically prefixed with
  uuid's.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
legacy: get_most_popular_field_values fix

* Properly checks if tags parameter is of string type.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
collect: addition of sorting filter

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
uploader: initial manage command implementation

* Adds basic `inveniomanage uplaoder insert -f FILE` command.
  (addresses #1772)

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
setup: WTForms pin version 1.0.5

* NOTE Invenio installation is currently broken. Flask-Admin does
  not support WTForms>2.0.0. This is a temporary commit until it is
  fixed.

Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>
knowledge: API migration to SQLAlchemy

* Replaces run_sql queries with SQLAchemy query.

* Refactors module in order to move logic from api to model.

* Fixes bibknowledge webinterface kb mapping update.

Signed-off-by: Leonardo Rossi <leonardo.r@cern.ch>
deposit: separation of typeahead initialization

* Separates connecting events and initializing typeahead so that
  one can set up a custom typeahead with all the events connected
  with the form.

Co-authored-by: Kamil Neczaj <kamil.neczaj@cern.ch>
Signed-off-by: Javier Martin Montull <javier.martin.montull@cern.ch>