workflows: task result upgrade

* NOTE Adds an update script to change any existing task results
  from being an WorkflowsTaskResult instance to a dict.

* Removes WorkflowsTaskResult class.

* Changes task results to no longer be grouped by last_task_name in
  order to support adding task results outside of workflows tasks.

* Updates documentation with new information on task results as well
  as actions, workers, extra_data.

* Renames actions API function add_action() to set_action() to better
  describe what the function does.

* Adds a test case for this new functionality.

* Factors out a function in utils to get rendered task results from the
  blueprint.

* Changes the fulltext route to a better schema using
  send_from_directory to avoid exposing any file on the system to
  logged in users.

* Updates location and task result of saved files in task
  fulltext_download().

* Simplifies the "heavy" workflow definitions a bit as well as the
  output of the generic harvesting workflows.

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