workflows: change default XSLT

* Changes the XSLT parameter in the example workflow
  "full_doc_process".

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
installation: Python 2.6 on Travis CI

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reviewed-by: Jiří Kunčar <jiri.kuncar@cern.ch>
installation: Flask-Collect to use 0.2.3-dev

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reviewed-by: Jiří Kunčar <jiri.kuncar@cern.ch>
access: using unittest2 in Python 2.6

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reviewed-by: Jiří Kunčar <jiri.kuncar@cern.ch>
workflows: Python 2.6 compatibility

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
Reviewed-by: Jiří Kunčar <jiri.kuncar@cern.ch>
workflows: revamp session handling

* Changes the way the db.session is called in
  BibWorkflowEngine and BibWorkflowObject models
  to use a session_manager decorator.

* Adds new classmethods to BibWorkflowObject to create
  objects and revisions.

* New BibWorkflowObject's are now by default initiated
  with version set to INITIAL (from RUNNING).

* RUNNING version is only set when a BibWorkflowObject is
  actually being executed in a BibWorkflowEngine.

* Removes the workflow status FINISHED, as it was too
  ambiguous compared to COMPLETED. If a workflow contains
  data objects that have not reached FINAL version, the
  workflow status is set to HALTED.

* Cleans some of the log messages in the engine.

* Reworks what happens when a workflow is asked to *fully*
  restart. It will take the INITIAL version of every
  associated object and run it through the workflow from
  the start.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: sphinx documentation and more

* Adds sphinx documentation syntax to functions in the module.

* Fixes a problem with duplication of logger, the logger was
  a singleton but not the handlers which were accumulated each time
  we were continuing a workflow, producing database burst.

* Deletes some dead code.

* Fixes a mistake which was due to limitations in extra_data
  access.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@techie.com>
workflows: add more unit tests

* Adds more unit tests with new tasks and workflows.

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

* Updates the generic_harvesting_workflow.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: update API and errors

* Workers now return directly, removing some preliminary code
  to close sessions.

* Adds new exception WorkflowAPIError to alert about API usage
  errors.

* Amends the way workflows within a workflow is initiated.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: revamp testsuite

* Implements a renewed testsuite for workflows with better coverage
  overall.

* Cleans up the tests a bit, renaming and moving the tests in
  test_halt into the renewed test_workflows suite.

* Makes the tests visible for the overall invenio testsuite by
  adding the TEST_SUITE variable.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: add more docs

* Adds basic documentation for API and Holding Pen view under
  api.rst.

* Adds docstrings in various modules to be included in general
  documentation.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: fix copyright and PEP8

* Fixes wrong copyright years throughout the module.

* Fixes some PEP8 issues and cleans code in some places.

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