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>
records: REST API addition

* Adds REST API for records.

* Sets `clean=True` in legacy search_engine to clean the
  recjson to be returned.

Signed-off-by: Konstantinos Kostis <konstantinos.kostis@cern.ch>