oairepository: automatically compute model field

* Connects OaiREPOSITORY model to SQLAlchemy events to ensure field
  setDefinition is properly computed on db insert/update when using
  the SQLAlchemy model.
oairepository: include restricted records

* Adds configuration variable CFG_OAI_FILTER_RESTRICTED_RECORDS
  to include restricted records in OAI-PMH output. Useful if a
  record is part of both public and restricted collections.
comments: remove unused property

* Removes an unused property on the CmtSUBSCRIPTION model, that also
  caused an initialization error due to the user of current_user
  proxy outside of the Flask application context.

Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
formatter: fix for xml record formatting

* Fixes issue in formatting of XML records.
formatter: fix unicode decoding error in rss

* Fixes a unicode decoding issue in the RSS feed.
celery: fix email reporting

* Fixes an issue preventing error emails from being sent.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
access: improve login performance

* Adds argument batch mode in acc_authorize_action to lower number of
  database queries when testing many arguments against the same action
  and user.

* Improves login performance by using the acc_authorize_action
  argument batch mode to calculate list of permitted collections for
  a user.
persistentid: add function to create url

* Adds a function that for a given persistent identifier will
  try to create a URL to a resolver.
persistentid: fix ISSN validation issue

* Fixes an issue where an 8-character non-ISSN string would cause an
  exception.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
bower: upgrade ckeditor to version 4

* Upgrades CKEditor to version 4 in bower requirements.
apikeys: add option to disable signing

* Adds option to disable need for signing an API request.
legacy: fix issue with undefined variables

* Fixes issue with undefined variables.
records: add configurable breadcrumb title

* Fixes an issue where the breadcrumb did not display the record title,
  due to using a wrong jsonalchemy field.
searchengine: fix restricted collection search

* Fixes an issue where a guest user could not search for records
  in a restricted collection authorized for to the guest user.
base: add pre-template-render signal

* Adds signal that can be sent from views prior to
  a template being rendered. This allows simple customizations
  of the template context.
global: translation fixes

* Adds configuration file for message extraction.

* Extracts messages from source code files.

* Usage: python setup.py extract_messages -k '_(' \
  -F mapping.cfg -w 100 --input-dirs invenio \
  -o invenio/base/translations/invenio.pot --sort-output

Signed-off-by: Eirini Psallida <eirini.psallida@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
global: base templates creation

* Creates base templates to allow for easier and minimal block
  overwriting by site-specific templates.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
base: template blocks addition

* Adds template blocks for easier customization.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
search: template blocks addition

* Adds template blocks for easier customization.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
accounts: template blocks addition

* Adds template blocks for easier customization.

* Fixes issue with form validation errors in login form.

Signed-off-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>