BibIndex: minor engine refactoring

* Refactors code in update_virtual_indexes and
  remove_dependent_indexes functions.

* Fixes a problem occurring when user
  removes depenednt index both in admin
  interface and through CLI.

Signed-off-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
BibIndex: new 'all-virtual' CLI option

* Introduces new '--all-virtual' option
  which is an equivalent of '-w virtual_ind1,virtual_ind2,etc.

* Running bibindex without parameters won't
  run update for virtual indexes.

Signed-off-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
BibIndex: virtual index queue dupe optimisation

* Before indexing virtual index, let us remove
  duplicate entries in queue table. It will
  save indexing time, because the same actions
  won't have to be performed twice.

Signed-off-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
BibIndex: new DOI index

* Introduces new DOI index and tokeniser.
  (closes #1655)

* Includes tests for new index.

Signed-off-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
WebStat: list link fix for system health UI page

* Fixes get_list_link function. Current
  system health is displayed properly.
  (closes #1713)

Signed-off-by: Grzegorz Szpura <grzegorz.szpura@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>