BibIndex: use human friendly index name

* Adds a more administrator friendly progress display when
  running a BibIndex task in BibSched as it prints the index name
  in addition to the more cryptic index tablename.
  (addresses #1329)

* The same progress display now also tries to give an estimate
  of completed work in percentage.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebSubmit: use PyPDF2 if available

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
BibSched: increases size of monitor columns

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebApiKey: renames unit tests to regression tests

* The tests were modifying the database thus have been renamed.
  (closes #1324)

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: SPIRES date math search fixes

* Fixes treatment of the first day of the month in SPIRES date queries
  like "find date 1976-04-01 and t dog".  (closes #431)

* Fixes "this week" and "last week" date search functionality.

* Accepts two digits for year search so that users can type 78 instead
  of 1978.  (closes #948)

Reviewed-by: Samuele Kaplun <samuele.kaplun@cern.ch>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: SPIRES invalid date search fix

* Accepts invalid dates without erroring.  (closes #1467)

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: fix Python 2.4 syntax error

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
textutils: add ALA-LC transliteration

* Adds textutils methods for ALA-LC transliteration as described
  by http://www.loc.gov/catdir/cpso/roman.html (closes #1092).

Reviewed-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
dataciteutils: DataCite DOI support and test cases

* Add miscutil module to connect to DataCite MDS

Reviewed-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Acked-by: Tibor Simko <tibor.simko@cern.ch>
BibFormat: add DataCite XSL stylesheet

* Adds XSL transformation from MARC XML to DataCite Metadata
  Schema v2.2 XML.

* Review note: added tabfill line for the new format.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
dataciteutils: refactor DataCite API wrapper

* Refactor DataCite API from function based to class based API
  (closes #1457).

* Refactor HTTP connection to use urllib2 with special handling
  for SSLv3.

* Adds Media API functions.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Acked-by: Tibor Simko <tibor.simko@cern.ch>
Merge branch 'master' into next

* master:
  dataciteutils: refactor DataCite API wrapper
  BibFormat: add DataCite XSL stylesheet
  dataciteutils: DataCite DOI support and test cases
  textutils: add ALA-LC transliteration
  WebSearch: fix Python 2.4 syntax error
inveniocfg: fix --drop-tables command

* Solves problems with droping tables using SQLAlchemy models.
  (closes #1283)

* Test note: may sometimes lead to "metadata lock" troubles,
  so beware.  This will be clearly fixed in an ulterior commit.

Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
Flask: integration of legacy unit tests

* Adds new `@with_app_context(...)` decorator for ensuring application
  context in functions called from command line before they will be
  ported to inveniomanage script.

* DEPRECATED `flaskshell` will be removed and replaced with
  with_app_context decorator or application factory usage.

* Fixes UserInfo object that was returning uid == 0 instead of -1 for
  guest users (webuser_unit_tests.py).

* TODO check inveniocfg_upgrader for upgrades from non-Flask based
  installations.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
WebSearch: record tabs improvements

* Renames `list` handler to `autocomplete` to avoid python list
  redefinition.

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>
global: new configuration variable CFG_DEVEL_TOOLS

* Adds new configuration variable CFG_DEVEL_TOOLS to enable
  or disable Invenio development tools suck as Flask Debug
  Toolbar, SQL logging, Werkzeug Debugger and more.  (closes #1325)

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Tested-by: Tibor Simko <tibor.simko@cern.ch>
WebSearch: fix import to use full module path

* Fix imports to use full module paths.

Reviewed-by: Tibor Simko <tibor.simko@cern.ch>
celery: initial release

* Adds Celery support to Invenio by defining a custom
  Celery loader that will load tasks defined in invenio.*_tasks
  modules. (closes #1458)

* Requires Python 2.5+ and Celery 3.0.x

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
celery: addition of Flask support

* Adds Flask support to Celery by ensuring that the Flask
  application and request context is set so tasks can make use
  of e.g. SQLAlchemy.

* Changes default result/task serializer from json to msgpack
  (requires Python 2.6+ due to msgpack).

* Changes default result store from RabbitMQ to Redis.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
installation: fix for MathJax OS X install issue

* MathJax library was copied with cp -ur, however the -u option is not
  supported on OS X.  (closes #1455)

Reviewed-by: Samuele Kaplun <samuele.kaplun@cern.ch>
Reviewed-by: Tibor Simko <tibor.simko@cern.ch>