OAIHarvest: global improvements

* DB-layer refactored for oaiharvest part. Now using sqlalchemy models.

* Changes OaiHARVEST table schema to add workflow options and remove
  frequency as it is not really needed. BibSched is the master of
  task frequency.

* Now harvesting with --workflow or -r --workflow or only -r CLI
  options are working.

* Generic workflow is now taking parameter of the given repository.

* The daemon now supports to harvest with all the
  possibilities. It means one repository or one workflow,
  one repository n workflows n repositories one workflow
  or n repositories n workflows.

* The daemon optimizes the request to mimize the number of
  workflows to start to complete the work asked.

* The task_run has now a better error reporting part.
  Focuses on error, returning full informations and
  everything need for debugging.

* Cleans the code of several functions, simplifies the
  harvesting a bit. Changes the way the updating of
  the last_time update.

* Harvesting now propagates object into its function
  it allows the storage of crucial information without
  dirty tricks to make information go to the surface.
workflows: harvesting workflow updates

* Refactors log messages in generic harvesting workflow tasks.
* Adds a new task to convert records with information directly from
  OAI repository models.
* Generic workflow is now taking parameter of the given repository.
* Cleans the code of several functions, simplifies the
  harvesting a bit. Changes the way the updating of
  the last_time update.
workflows: holding pen additions

* Adds mini approval widget.
* Removes every hardcoded url in .js files.
* Adds small helper function in maintable.js
* Adds buttons for multiple record approval.
* Small bug-fix to the reject-multi button.
* Various fixes in datapreview.js functions.
* Adds new row_formatter to format datatables rows.
* Adds checkbox functionality.
* Fixes breadcrumbs in Holding Pen pages.
* Upgrades templates to bootstrap 3.

Tested-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: workflow task changes

* Updates the harvesting workflow example tasks.
oai_harvest: addition to model
workflows: engine and model changes

* 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: adds 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: implement HP polling mechanism
workflows: HP tag system implemented
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 updates

* Updates the sample harvesting workflow to use new bibclassify
  API.
* Several other updates and improvements to workflow tasks.
workflows: many fixes to workflows
workflows: regex addition to category filtering

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

* Adds new tag system in the main Holding Pen display.
* Changes approval widget layout.
workflows: improve exceptions in bibsched

* Updates the exception handling to better handle exceptions in
  workflows when running a workflow in a BibSched task.
* Improvements to category filter.
workflows: many fixes

* Table display, detailed display etc.
* subject extraction fixes
workflows: fixed javascript hotkeys + tagsinput

* added hp_detailed_layout.html
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.