Working on engine implementation: start_workflow()

* Implementation of DefaultEngine.start_workflow()
* Unit tests
* Fixing DB models
* Adding new module for Data Flow operations

TODO:
* on_task_result()
* Fully integrated Data Flow
* Take care of ad-hoc actions

Change-Id: I55b7760ce09f40d5ccce51969c876c175bf66840
Renaming base class for Mistral DB models

Change-Id: Id7ed5a39dde8d83175f5cf4dc1a48af90948822f
Working on engine implementation: on_task_result()

* Implementing DefaultEngine.on_task_result()
* Unit tests
* Fixing ReverseWorkflowHandler
* Renaming 'task_result' to 'raw_result' in method signatures
* Other minor fixes and refactoring (etc. kwargs -> params)
* Backport of Python 2.7 method assertDictContainsSubset()

TODO:
* Take care of ad-hoc actions

Change-Id: Iab853124679be393237bfdaaffdc03e4b8f0d664
Working on linear workflow: start_workflow()

* Implementing LinearWorkflowHandler.start_workflow()
* Fixing v2 specification
* Unit tests

Change-Id: I317ac958cb6c4abecbefdd6fc1a44c1c0210c28f
Working on linear workflow: on_task_result()

* Implementing LinearWorkflowHandler.on_task_result()
* Unit tests

TODO:
 * Method get_upstream_tasks() is not really applicable for linear workflow
   so we may need to redesign this part workflow handler contract

Change-Id: Ib39c37a2a8fa56c6dbdf664922b939cc218fcd67
Fixing validation for action specifications ('output' property)

Change-Id: I38135d5165ffaf97163b4f5de6242236fa3bd77c
Fail workflow if any task fails

Workbook gets stuck in RUNNING state if one of its child tasks
fails.  This change puts it in ERROR state instead.

Change-Id: Idadea9886983fc792f4b164da7c07062c29c66da
Closes-Bug: #1346356
Adding transaction context manager function for db transactions

Implements: blueprint mistral-with-transaction
Change-Id: Ied955bd590128520aa0aea883fefa7bf8f95aa1f
Small updates to devstack integration

Fixes failing devstack tests when Mistral is installed (style error)
  and a bit of extra info in README file.

Change-Id: I24c7c982cb2ae5550a881961db587d6ccf2dccae
Merge "Small updates to devstack integration"
Add two more tests which check workflow execution

- added test that check execution of mixed workflow (Mistral v1)
- added test that check execution of direct workflow where all keywords are used
(on-error, on-success, on-finish)

Implements blueprint: mistral-workflow-execution-tests

Change-Id: I3055d0084a8f8a69bd8ac5cd51e7c5e7ce049b63
Implementing task execution infrastructure

* Implemented action calls
* Implemented subworkflow calls
* Adding executor interface and default implementation
* Unit tests
* Small refactoring in workflow handlers
* Creating all necessary RPC infrastructure
* Refactoring launch script
* Added __repr__() implementation to MistralContext
* Small fixes in old infrastructure

Change-Id: I134ea526c295ca9bda7214c5403a41966062ff79
Renaming 'linear' workflow to 'direct'

* Linear workflow was not an accurate term for this workflow type
  and it will conflict with truly linear workflow that will appear
  later.

Change-Id: Ia9035d419bc720ce8397cf6f1493a968be948eeb
Removing 'Namespaces' section from DSL

Change-Id: Ib59d6aaaf3eec85a60c0d9b2e04ce92315bf4548
Introducing 'workflow' as an individual entity

* Added Workflow DB model
* Removed 'workbook_name' parameter from Engine.start_workflow signature
* Fixed unit tests
* Fixed module trusts to create individual workbook entities when
 on workbook definition update
* Fixed API tests
* Switched v1 controllers to explicitly use DB API v1

Change-Id: I6a096e1c5d8082d3d1cdd47b575b85b28224d2a6
Removing obsolete db.api.py module in favor of db.v1.api.py

Change-Id: I740a5672b97e983e3bd43eb4b70051fcda272b19
Improving services/workbooks

* Take care of workbook updates
* Unit tests

Change-Id: Iae9d13f335b8cca2409ad0731091edbbaa24a271
Merge "Adding transaction context manager function for db transactions"
Merge "Implementing task execution infrastructure"
Merge "Add two more tests which check workflow execution"