docs: INSTALL guide update

* Updates the INSTALL guide to remove suggested command to set
  PACKAGES config manually. This is now managed at the level of
  the demosite sources via setup.py entry_points.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: fix for Celery worker tasks loading

* Loads the Celery worker tasks so that Invenio Celery wrapper
  can discover the tasks.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
jsonalchemy: create_record error catching

* The marc reader and wrapper modules now catches any errors
  while parsing MARCXML with legacy create_record and returns a
  ReaderException with details.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
records: API test case addition

* In response to 5daee2f, adds a new test-case to make sure
  an exception is raised when Record.create is called with bad
  data.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: abstraction layer for workers

* Adds an abstract class to be used like a base for
  worker wrapper.

* Implements a worker wrapper for abstraction for
  celery worker.

* Starts the implementation of a worker wrapper for
  redis worker.

* Fixes PEP8 and sphinx documentation specification.

* Fixes mistake about iteritems with six.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: more unit tests

* Adds more unit tests to the workflows module, including
  new test workflows. Coverage should now be about 50%.

* Modifies API internals for unit tests conformation.

* Adds one file for tests which are using asynchronous
  worker to compute.

* Corrects unit tests.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: global improvement

* Updates workflow to comply with the modification in
  tasks librairies.

* Fixes an error with the new ObjectVersion type with
  python3.

* Fixes sphinx mistakes.

* Removes useless regex.

* Fixes PEP8 mistakes.

* Adds more documentation to some functions.

* Removes useless and obsolete code, factorize some parts.

* Changes the start workflow function to give the
  possibility to start from a new clean BibWorkflowObject.

* Adds the refresh frequency as a parameter for workflows
  synchronisation.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
lol

lol2
LOLWTFBOOM
lol
lolilol

lol3

Conflicts:
	invenio/legacy/oaiharvest/daemon.py
workflows: mega LOL
jsonalchemy: unit tests for module import fix

* Adds a field to fields.cfg, which is a name of module.

* Adds a test that will try to convert a marcxml to json
  and then from json to marcxml. In this test email is
  a field which is not present in the marcxml, and then
  bibfield will try to import it like a module.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>

Conflicts:
	invenio/base/utils.py
workflows: add str() to calls
jsonalchemy: hotfix for fields not always present

* Proposes a patch to fix a little unexpected behaviour
  which happen when a field in the conversion sheet is
  not present in the marcxml. For example email.
  When you will transform the marcxml to dict everything
  will be fine. But when you will convert it back to marc
  xml you will get an infinite loop because befield will
  not find email in the dict. So it will try to eval the
  field email. It will then try to import email, and
  succeed, but because the result contains email it
  will do an infinite loop. In our case email, should
  just be ignored.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
this is holdinpen
workflows: many updates
workflows: holding pen data extraction