oaiharvester: update model with defaults

* Adds better defaults for the oaiharvester model.

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: new API in engine and model

* Updates the BibWorkflowObject with new API functions to add
  widgets to trigger an holding pen action.

* Adds a function to BibWorkflowObject to add task results
  using a newly created class WorkflowTaskResult.

* Changes the data preview in Holding Pen back to using
  the previously added get_formatted_data function.

* Widgets and tasks now use these new functions.

* Enriches sample workflow to showcase more tasks.
workflows: new workflow tasks

* Adds new filtering task for record categories, allowing to
  specify which categories to trigger an action in holding pen.

* Adds task results to objects in various tasks.
workflows: layout changes in Holding Pen

* Adds a navbar above Holding Pen table and updates layouts
  across the details page and approval widget page.
workflows: HP polling mechanism

* Adds a polling mechanism to update the main table every 5
  seconds with new data. A temporary solution.
workflows: new tag system

* Adds a new tag based UI element for filtering objects in the
  Holding Pen.
BibClassify: new API

* Adds a new API module for use by workflow tasks.

* Several updates and fixes to the module to improve output.

* Moves a function for easier future optimization,
  simplifying some operations.
workflows: sample workflow update

* Updates the sample harvesting workflow to use new bibclassify
  API.

* Several other updates and improvements to workflow tasks.
workflows: Holding Pen update

* Adds concept of data types to Holding Pen display, so users
  can filter on submissions, records etc. using the attribute
  "object_type" in workflow definitions.

* Removes some uninteresting/unused columns in the Holding Pen
  main table and adds a new columns called categories containing
  any record subjects found, if applicable.

* Cleans some blueprint URLs.
workflows: category filtering update

* Updates the category filtering task to allow regular expression
  syntax when defining which categories to halt, continue or stop
  the workflow.
workflows: clean Holding Pen blueprint

* Cleans some blueprint code and routes for resolving widgets.

* Amends the approval widget and record details templates/JS to
  make use of these changes.
logging: fix issue with db.func.now

* Updates HstException with a fix to avoid a database error
  that was raised when using db.func.now to set the current
  datetime. Now using datetime.now instead.
workflows: refactor tag system

* Refactors the tag system used in the main Holding Pen display.

* Changes approval widget design and layout.
workflows: exception handling with bibsched

* Updates the exception handling to better handle exceptions in
  workflows when running a workflow in a BibSched task.

* Improvements to category filter.
workflows: update Holding Pen

* Updates Holding Pen main table display with better column sizes.

* Improves detailed display of workflow definition.

* Refactors imports in marcxml_tasks.

* Fixes an exception dealing with single or multiple categories
  when extracting subjects from record object.

* Updates in harvesting workflow tasks.
workflows: JS and template update

* Adds a new template for detailed layout.

* Update Holding Pen templates overall.

* Fixes a problem with hotkeys in the main table display.
workflows: add bootstrap-tagsinput package

* Adds a new JavaScript package for use in the holding pen
  display.

* Adds the new package to bower/Grunt file.
celery: go back to msgpack

* Changes celery configuration to use msgpack instead of
  pickle and use rabbitmq instead of redis broker,
  after some problem under heavy load.
workflows: task additions and modifications

* Adds options for the foreach loop, we can now cache the
  list to go through it will then allow to five the choice
  to the user if he wants to priviledge CPU vs Memory,
  cache uses few CPU but a lot of memory and doesn't provide
  a dynamic list. Without the cache option, we recompute the
  list each time so we use much more CPU but we keep just
  the data needed so few memory, and the list is still
  refresh for each loop.

* Refactors use of extra_data in the engine.

* Changes the task foreach so that obj.data takes the value
  it has before the foreach. In the previous version we were
  keeping the last value of the foreach.

* Adds the function filtering_oai_pmh_identifier which
  allows you to filter the identifier. Mainly used to
  avoid processing already processed one.

* Adds features to  inspire_filter_category, now parameter
  can be passed throught the extra_data of the engine.

* Fixes some bugs with regex in inspire_filter_category

* Adds the function update_last_update which allows you to
  update the last_update time of a repository. It is
  important because the user can choose exactly where in
  the workflows he considers that a crash is not a problem
  for harvested documents.

* Adds the different features needed by the change from
  pickle to message pack in Celery, to the container for
  BibWorkflowObject exchange.

* Performs PEP8 updates.

* Deletes non-informative logs.

* Modifies the different workflows to take into account the
  previous modification made.
workflows: bad import in MARCXML tasks

* Removes a bad import from the MARCXML task