multimedia: initial release of Image API

* Introduces image API with `resize`, `crop`, `rotate`, `format` and `quality`
  functionality.

* Adds image cache object via redis.

* Adds API testsuite.

Signed-off-by: Harris Tzovanakis <drjova@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
multimedia: IIIF Image API addition

* Implements the IIIF Image API.

* NOTE For more info please read <http://iiif.io/api/image/2.0/>

Signed-off-by: Harris Tzovanakis <drjova@cern.ch>
Reviewed-by: Jiri Kuncar <jiri.kuncar@cern.ch>
workflows: dismissable approval alert

* Makes the default approval alert dismissable.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: task result templates

* Amends task result rendering in Holding Pen to use templates
  under the folder templates/workflows/results.

* Fixes a problem in refextract task.

* Adds refextract template.

* Adds template for fulltext_download task to display a nicer looking
  fulltext icon to users.

* Amends tests to accommodate this new change.

Reviewed-by: Jan Aage Lavik <jan.age.lavik@cern.ch>
Signed-off-by: Georgios Papoutsakis <georgios.papoutsakis@cern.ch>
workflows: task result upgrade

* NOTE Adds an update script to change 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.

* Simplifies the "heavy" workflow definitions a bit.

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