OAIHarvest: move to workflows

* Changes OAI Harvest daemon logic to use the new workflows
  module, with many changes overall.

* Refactors DB-layer for oaiharvest part. Uses the new
  sqlalchemy models.

* Changes OaiHARVEST table schema to add workflow options and
  removes frequency parameter. BibSched is the master of
  task frequency.

* Allows new CLI parameters --workflow or -r/--repository,
  --workflow or just only -r/--repository.

* Adds support to harvest with all combinations. It means
  one repository or one workflow, one repository N workflows
  N repositories one workflow or N repositories N workflows.

* Optimized request in daemon to mimize the number of
  workflows to start to complete the work asked.

* Improves task_run with better error reporting.

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

* Updates OaiHarvest model in oaiharvester.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
oaiharvester: update model with defaults

* Adds better defaults for the oaiharvester model.

* Changes the argument column to MarshalBinary and
  removes getter get_arguments().

Signed-off-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
workflows: update calls to OaiHarvest model

* Updates the calls to get the arguments dict from the
  OaiHarvest model to adhere to recent API changes.

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