websearch/bibformat: metadata in header of hd records

  * Metadata suitable for google scholar harvest exposed
    in headers of detailed record pages.  see:

http://scholar.google.com/intl/en/scholar/inclusion.html

  * websearch medified to emit meta tags in headers, and
    regression test for metadata header

  * Relies on configuration within tags table in DB, but
    uses a minimal set of defaults that are generally
    acceptable.  HDM format can be modified, or tag names
    changed.

  * invenio.conf variable introduces to control which format is
    used (default HDM)
Bibformat: appropriate output for Google Scholar

    * HTML Detailed Meta format added
    * HTML Detailed Meta should also contain a field citation_issn
      which should be populated with the issn.  It seems overly
      complicated at the moment... TODO
bibformat: remove duplicate titles in metadata
Websearch: Inclusion of Google Scholar-harvestable

    * reformatted dates to be yyyy/mm instead of yyyy-mm
BibFormat: new escaping modes (8, 9)

 * New escaping mode (8): use cgi.escape() with 'quote=True' to also
   escape double-quotes.

 * New escaping mode (9): remove all HTML tags and escape
   double-quotes.
WebSearch: add Open Graph markup

 * Enhanced bfe_meta to support knowledge bases and variables.

 * Added bfe_meta_opengraph_image.py and bfe_meta_opengraph_video.py
   to deal specifically with insertion of images and videos.

 * Added CFG_WEBSEARCH_ENABLE_GOOGLESCHOLAR and CFG_WEBSEARCH_ENABLE_OPENGRAPH
   to configure use of Google Scholar or Open Graph protocol markup
   in the page header.

 * Remove duplicate values for a given tag.

 * Added demo 'COLLECTION_TO_OPENGRAPHTYPE' knowledge base to map
   collection identifier to Open Graph object type.

 * Other small fixed and enhancements.
WebJournal: add Open Graph markup
BibAuthorID: major backend rewrite and speed ups

* New database structure allows for faster and more reliable operations.

* New BibAuthorID fast update and garbage collection algorithm: Rabbit.
  Taking advantage of the new database shape, the algorithm is
  much faster, reliable and performant then ever.
  It can be now scheduled and run ideally several times per hour,
  so that BibAuthorID world is always up to date with the rest of
  the system.

* New full disambiguation algorithm: Tortoise.
  The new full disambiguation algorithm allows for state of the
  art quality, periodic full-disambiguation of authors.
  NB: While it is possible to use it for starting a system from
  scratch, the merging algorithm required for periodic updates
  is not fully production ready yet.

* Lots of bugfixes, optimizations and improvements;
  the backend code have been rewritten from scratch.

Co-authored-by: Nikola Yolov <nikola.yolov@cern.ch>
BibAuthorID: hotfixes

* Daemon logs are now logging correct timestamps
* Paper claims are now respecting personid invariants
* Personid repair tools improved
* Rabbit swap improvement
* Check script improvement
* Repair script improvement

Co-authored-by: Samuele Carli <samuele.carli@cern.ch>
BibAuthorID: indexing hook fix

* BibAuthorID is not wrongly reporting rejected papers for
  indexing anymore.
BibAuthorID: backend verbosity hotfix

* Update of canonical names is now not verbose if not asked to be so.
BibAuthorID: typo fix
WebSearch: merged records redirected with CFG_SITE_RECORD

* When a merged record is detected, use CFG_SITE_RECORD to
  redirect to new record URL.
WebSubmit: fix email formatting

* Added missing "recid" mapping in the formatting of the default email
  body sent by users needing help to revise a file.
BibFormat: bfe_bookmark for WebJournal

* When bfe_bookmark is used from within WebJournal templates, the
  created link points to WebJournal article page rather than the
  detailed record one.
Merge branch 'maint-1.0'

* maint-1.0:
  WebSubmit: fix email formatting
WebSearch: CERN-specific hack for latest additions

* CERN-specific hack to alter latest additions box for
  LHCb Talks collection.
WebSubmit: fix Move_to_Done function

* Removes spaces in folder name (name based on report number)
  before creating it on disk.
BibSched: set ERROR status when wrong params

* If a task has been scheduled via task_low_level_submission,
  it might contain some wrong command line arguments that would
  be spot only at execution time. In case of errors, the task
  will now be set to "ERROR" status, instead of staying in
  "SCHEDULED" status.
  (closes #943)
BibSched: task can stop immediately when sleeping

* If a task is sleeping and is being sent a stop signal,
  if the current sleeping point allows to stop, the task
  will directly wake up just to stop immediately.
  (closes #822)