crossref: initial release of Flask extension

* Queries DOI record data from the database or CrossRef as JSON
  (closes #1906).

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: database search fix

* Adds an instance wide search parameter prefix to perform the database
  search.

* NOTE for the search to be performed in the database, the DOI field
  prefix for the corresponding instance config file should be added
  (e.g. CROSSREF_SEARCH_PREFIX = 'doi:').

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: tests addition

* Adds tests for found and not found DOI.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
crossref: docs entry addition

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
records: get_unique_record_json 'status' key move

* Moves `data['query']['status']` to `data['status']` in order to avoid
  collision with possible 'status' key in record object.

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
arxiv: fix 'status' key lookup

Co-authored-by: Pedro Gaudencio <pedro.gaudencio@cern.ch>
Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
arxiv: fix database search with prefix

* Adds an instance wide search parameter prefix to perform the database
  search.

* NOTE: for the search to be performed in the database, the arXiv field
  prefix for the corresponding instance config file should be added to
  invenio.cfg as ARXIV_SEARCH_PREFIX
  (e.g. ARXIV_SEARCH_PREFIX = u'035__a:oai:arXiv.org:').

Signed-off-by: Pedro Gaudêncio <pedro.gaudencio@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
base: fix for recreation of broken links

* Fixes a crash of `inveniomanage collect` when a link for a static file
  exists but it is broken.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Kamil Neczaj <kamil.neczaj@cern.ch>