BibField: clean atlantis.cfg demo set up

* Field names and legacy rules fixed to match demo site tag set up.
  (closes #1557)

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: new producer section added to config

* New `producer` section inside the configuration file that allows
  to produce different low level outputs for a given field.

* First release of two producers, one for marc and one for dublin
  core.

* New functions `guess_legacy_field_names` that, using the legacy
  rules from the configuration files try to find which is the field
  name for a given tag from a given master format.

* Better legacy export as marc that uses the new producer capability.

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
Co-authored-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
BibField: misbehavior when parsing rules fixed

Signed-of-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
Co-authored-by: Lars Holm Nielsen <lars.holm.nielsen@cern.ch>
BibField: better calculated fields handling

* New internal key added `__calculated_functions` to store how to
  update the cached value of the field.

* All the fields marked with `@do_not_cache` are not longer stored
  stored inside rec_json, only the key is reserved.

Signed-of-by: Esteban J. G. Gabancho <esteban.gabancho@gmail.com>
BibField: new decorator @only_if_master_format added

* New decorator @only_if_master_value, similar to @only_if but in
  this case we can create a boolean expression based on `value`,
  which is coming from the master format before evaluation.

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: bibdoc integration introduced

* Adds two new calculated fields to interact with files from
  BibDocFile, one `files` which provides a dict containing some
  useful information about the files and `bibdocs` which contains
  the BibDoc object itself.

Signed-off-by: Esteban J. Gabancho <esteban.gabancho@cern.ch>
BibField: continuable vs fatal errors.

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: `is_type_isbn` fixed

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: '__eq__' fixed to better compare records

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: `is_empty` updated

Signed-of-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: `schema` added to `split_blob`

* When splitting the blob it might be the case that the schema is
  needed, moreover if the reader accepts several schemas for the
  same input format.

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: remove None values from the Json record

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
BibField: field filtering added to `get_record`

* Modified `__repr__` to only display relevant keys and hide keys
  of the form `__key`

Signed-off-by: Esteban J. G. Gabancho <esteban.gabancho@cern.ch>
travis: initial configuration release
WebSearch: fix for non-ASCII fulltext terms

* Encodes search pattern properly.

Signed-off-by: Patrick Glauner <patrick.oliver.glauner@cern.ch>
orcid: fix search url

* Fixes ORCID search url.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
jinja2utils: add date formatting template filter

* Adds pretty_date Jinja2 template filter.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
OAIHarvest: fix for app context

* Fixes issue with oai_harvest_daemon running outside Flask
  application context.

Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
web_api_key: initial port to Flask.

* Moves `web_api_key` logic to the model.

* Refactors functions to work with sqlalchemy and flask request.

* Refactors `web_api_key` to work with model functions.

* Updates `web_api_key_regression_tests`.

* Adds a decorator `api_key_required` for authentication
  through an api_key.

Signed-off-by: Konstantinos Ntemagkos <konstantinos.ntemagkos@cern.ch>
Co-authored-by: Jiri Kuncar <jiri.kuncar@cern.ch>
web_api_key: fix for import and print statements

Signed-off-by: Jiri Kuncar <jiri.kuncar@cern.ch>