DocExtract: better error message when pdftotext is missing
BibAuthorID: external publications guard

* Guards arxiv and doi processing.

Signed-off-by: Minn Soe <minn.soe@cern.ch>
BibAuthorID: Fix APPP title name display

* The selection of the most relevant name to be
  used as a title for the APPP does not crash
  anymore when handling empty names.

Signed-off-by: Samuele Carli <samuele.carli@cern.ch>
Signed-off-by: Artem Tsikiridis <artem.tsikiridis@cern.ch>
BibAuthorID: APPP internal papers in external pub

* INSPIRE Datasets were mistakenly shown as external publications.

Signed-off-by: Samuele Carli <samuele.carli@cern.ch>
Signed-off-by: Artem Tsikiridis <artem.tsikiridis@cern.ch>
BibAuthorID: personal details native names

* Improves display of unicode native names.

Signed-off-by: Minn Soe <minn.soe@cern.ch>
OPS: disable search services tests

* Disables tests in `websearch_services_regression_tests.py`

* Disables test `test_websearch_search_services_report` in
  `websearchadmin_regression_tests.py`

Signed-off-by: Federico Poli <federico.poli@cern.ch>
BibAuthorID: citations summary

* Fix for bug which displays all numbers as integers.

Signed-off-by: Minn Soe <minn.soe@cern.ch>
BibIndex: refactoring and author parent tokenizer

* Refactoring of BibIndex:
  implements https://github.com/inveniosoftware/invenio/issues/1710

* Adds a generic parent tokenizer, useful for the dataset records:
  implements https://github.com/inveniosoftware/invenio/issues/1885

* Adds 4 demo records for testing purpose

* Adds (and fixes) tests

More details:

* Refactoring of `task_run_core` in `bibindex.py`: easier to follow,
  moves the decision of which records need to be reindexed to the
  tokenizers

* Fixes bug: the command `bibindex -w [index name] -m [date range]`
  previously was updating the `last_updated` field of the index

* Moves many of the index specific special cases from `bibindex.py`
  to the tokenizers
  (e.g. `if index_name == "author": # add special tokens`)

* Moves some utility functions from `bibindex.py` to
  `bibindex_utils.py`

* Adds tokenizers `BibIndexAbstractParentTokenizer`,
  `BibIndexCanonicalAuthorTokenizer`,
  `BibIndexExactParentAuthorTokenizer`,
  `BibIndexParentAuthorTokenizer`,
  `BibIndexParentCanonicalAuthorTokenizer`

* Adds indexes `simpleauthor`, `canonicalauthor`, `parentauthor`,
  `parentcanonicalauthor`, `exactsimpleauthor`, `exactparentauthor`

* Adds fields `datasource`, `simpleauthor`, `exactsimpleauthor`

* Adds tag datasource `786__w`

* Adds upgrade script for the database changes
  (uses upgrade_atlantis)

* Transforms `author` and `exactauthor` indexes from regular to
  virtual index

* Adds file `bibindex_engine_tokenizer_regression_tests.py`

* Adds tests for tokenizers, for bibindex CLI, for bibindex utils

* Solves https://github.com/inveniosoftware/invenio/issues/1662
  (BibIndex: --reindex should not zero last_updated)

* Edits the commands run by `--load-demo-records` in order to
  reindex the bibauthorid-dependant indexes after the `bibauthorid`
  task (for example `canonicalauthor` and `parentcanonicalauthor`)