Create and use a new compilation module

To allow compilation into an execution graph to be done via
other methods than our pattern flattening concept create a module
that defines what a compiler should do and what the expected return
type from compilation of a atom/flow is and how it will be used by
our existing engine types.

Part of blueprint plug-engine

Change-Id: I324172571f36a574195bcdeac71c6ec14cb11944
Rename t_storage to atom_storage

This name reflects better what the storage module is
actually being used for/does. The prior name was not
very informative and meaningful.

Part of blueprint plug-engine

Change-Id: I7015620f5536fc766cff3a877edd0e94d25db1ed
add the ability to inject arguments into tasks at task creation

Similar to the rebind functionality that lets you rename parameters
from those in the store, inject lets you inject arbitrary key/value
pairs that will be sent to your task at task creation time.  This allows
for flow and flow factories to reuse tasks with differing parameters
without jumping through a lot of hoops.

Change-Id: If167962811d22054b89d7d35a33d4ec5cb2cd648
Implements: blueprint wbe-workers-endpoints-constructors
Adds a single threaded flow conductor

Creates a new conductor module that can be used
to connect into the jobboard, engine, and persistence
mechanism.

This commit adds in support for a simple conductor
that will run jobs in its own thread and will dispatch
them, and consume/abandon them.

Implements: blueprint generic-flow-conductor

Change-Id: Ic610bc825506db57b0c4364b0fc588b51d453a76
Use a name property setter instead of a set_name method

Change-Id: I4a41204e16e636e12d649592ae909d45fdb33f9f
Factor out the on_failure to a mixin type

To allow for failures to be handled in different
ways extract out the on_failure definition of a
retry object to allow it to be its own mixin or
base class for resolvers that can only provide a
on_failure method.

Change-Id: Ief422bb57316b913897ca65496144edcfdd1a948
Merge "add the ability to inject arguments into tasks at task creation"
Merge "Create and use a new compilation module"
Merge "Rename t_storage to atom_storage"
Merge "Use a name property setter instead of a set_name method"
Merge "Factor out the on_failure to a mixin type"
Fix docstring list format

Change-Id: Ia79560e965e94e2e4ce18f4667c33ae577b327ed
Update sphinx pin from global requirements

Since I63c6159eb23430a181eb20016b35366c2fbbf9f8 got merge we have
to update sphinx version, too.

Change-Id: Ic25b361fd34ee7df7010bc60c1ff44d3b8892a6c
Merge "Adds a single threaded flow conductor"
Merge "Fix docstring list format"