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>
Tested-by: Jiri Kuncar <jiri.kuncar@cern.ch>
initial

namespace packages

moved factory

dummy extensions

renaming

working after renaming

invenio.ext.login

loading config from invenio.config and invenio.cfg file

moved debug_toolbar and sslify to separate extensions

fix register extension on app object

invenio.ext.login

invenio.ext.sslify

factory improvements

invenio.ext.sqlalchemy

invenio.ext.sqlalchemy

fix UserInfo import

Factory: loading exensions' config

Factory: moved legacy and mailutils to extensions

Moved invenio.cfg and changed names of config variables

ignore extensions returning None

invenio.ext.jinja2hacks

moved jinja2hacks.py

jinja2utils -> invenio.ext.jinja2, invenio.ext.jinja2hacks

jinja2utils done

signalutils -> base.signals

adminutils -> ext.admin

invenio.hashutils -> invenio.utils.hash

utils in setup.py

adminutils fixes

jinja2 -> templates, legacy fixes

invenio.dateutils -> invenio.utils.date

invenio.jsonutils -> invenio.utils.json

invenio.memoiseutils -> invenio.utils.memoise

invenio.containerutils -> invenio.utils.container

invenio.logicutils -> invenio.utils.logic

mimetypeutils -> utils.mimetype

paginationutils -> utils.pagination

ext.gravatar initial commit

cache -> ext.cache

clean-up app factory

ext.template.context_processor initial commit

cache.py removed makefile

paginationutils.py removed makefile

template context_processor init

deprecated customize_app

session/__init__.py

moved InvenioRequest to ext.legacy.request:LegacyRequest

request -> request_class to avoid module confusion

hello world removal

invenio.base.helpers:with_app_context moved

logger extension

package modules discovery

sqlalchemy fix after merge