base: footer modularity improvement

* Removing styles on the <footer>. It's a generic element that may be
  used at more than one place, like <p> or <address>.
  http://www.whatwg.org/specs/web-apps/current-work/#the-footer-element

* Adding blocks in the footer template so one can reuse the content
  without having to keep the outter structure.

* Removing inline style.

Signed-off-by: Yoan Blanc <yoan.blanc@cern.ch>
search: search form as files

* Splitting the `search_form` macro into files. All the blocks have been
  preserved.

* Deleting the `search_form` macro.

* NOTE if you were using the `search_form` macro you should replace it
  by `{% include "search/form/index.html %}`

Signed-off-by: Yoan Blanc <yoan.blanc@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>
oaiharvest: PEP8 and errors category

* Fixes PEP8 errors in a strict way.

* Allows log of errors of loglevel=40 in oaiharvest.

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

* Adds more documentation.

* Fixes some sphinx errors in documentation.

* Changes imports to relives one when possible.

* Adds a new way to handle errors, to allow easy reading.

* Removes obfuscations of exceptions.

* Clarifies exceptions.

* Updates the way exception unicodes are handling.

* Fixes the behaviour of stop_on_error.

* Adds python 3 compatibility when possible.

* Adds a method to clean extra_data in a Wfe.

* Fixes problems with python 2.6 loggers.

* Adds reliable way to handle types for BibworkflowObject.

* Adds a method to get widget message easily.

* Adds an abstraction method for bibfield conversion in
  workflow tasks.

* Adds more tests.

* Adds start test procedure.

* Fixes bad sorting instructions in bibholdingpen.

* Improves the way of restarting workflows.

* Simplifies celery worker.

* Reorganizes tree of the module.

* Tasks cleaning and optimizations.

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

* Removes selection of row on link click.

* Changes the way of update data in approval widget.

* Changes the way of handling widget in pages.

* Changes the way of managing tags.

* Adds retrocompatibility for _widget field in extra_data.

* Simplifies the handling of informations in the http
  request.

* Adds new way to extract data from bwOject.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: str() addition to calls

* Fixes an issue in the MARCXML tasks that caused legacy
  create_record to fail when a string is passed as unicode.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: Holding Pen display changes

* Replaces the 'source' column with a more useful
  'identifier' column in the main HP display.

* Tries to factor out some of the data extraction
  happening when displaying object data in Holding Pen.
  Will be revisited in the near future.

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

* Adds search feature through tags.

* Simplifies the sort code server side.

* Gets request parameters before application ones.

* Adds data extraction methods.

* Changes the way we are creating object to removes
  cyclic dependencies.

Signed-off-by: Guillaume Lastecoueres <guillaume.lastecoueres@cern.ch>
workflows: hodingpen object history

* Adds the history of an object on the details page.

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

* Fixes import format.

* Fixes tests presentation.

* Fixes unit tests.

* Fixes PEP257.

* Fixes useless utf-8 conversion.

* Fixes _task_result type modification.

* Fixes python3 compatibility.

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