Adjust a bunch of hacking violations.

- Fix new hacking violations!
- Add more comments!

Change-Id: Ida0c1b6c98a8f45a15985b33529a1f479e595db5
Move examples under the source tree.

The examples will likely be easier to find
if they are colocated next to the rest of
the source tree. They can also be turned into
test cases in the future this way also.

Change-Id: Iedcf5c51778459e5216b8072e71e271e7c7ee0bf
Add a more complicated graph example.

Add an example that creates tasks that will
build a car and has the dependencies specified
to build the car in the right order and have each
task be submitted to the flow and then run and
watch the tasks occur in the right order automatically.

Change-Id: I17a2f621dfd7ceefb0a9c863e3e68b21b92672c2
Add a example which simulates booting a vm

Show how a booting a vm like workflow could be
structured via an example and add some simple
reverting methods which will attempt to undo
the changes that they applied (automatically).

This flow is similar to how nova runs in a way.

Change-Id: Id068ef80d7702b9b5f9af3c2569b52de3c58d32d
Deep-copy not always possible.

In working with cinder it appears that at last
cinder is using objects which can not be deep
copied (sqlalchemy objects) and which actually
cause the deepcopy routine to fail. To get
around this avoid the deepcopy until proven
its really needed.

Change-Id: Ia7b7c49e82c2151351cc0f78ecb1531c35540652
Quiet the provider linking.

The log output actually seems to be
less useful when this is integrated into
cinder than I thought it would be so lets
turn it off.

Change-Id: I2832f6bc9153153fcf6e76e65d8430ba536539e8
Add a new simple calculator example.

Add a simple linear calculator example which will
be given a few sets of tasks to do and some initial provided
data and then combine the correct ordering of that tasks
to produce an output result that then can be extracted.

Change-Id: Ica84dff67ce0a6b7699cd98effebc85c7dbd4cb2
Merge "Adjust a bunch of hacking violations."
Merge "Deep-copy not always possible."
Merge "Quiet the provider linking."
Merge "Add a new simple calculator example."
Merge "Add a more complicated graph example."
Forgot to move this one to the right folder.

Move to the right folder for real.

Change-Id: Id8cc423d9e9d811e97e846c1c054c29ce67203dc
Remove openstack.common.exception usage

This file is deprecated, stop using it.

Change-Id: I309bccb23e4ba25d84b5aaaba20ad73fdfd37e25
Fixes-Bug: #1208734
Resync the latest oslo code.

Change-Id: Ia9a6ce983e01542f4f0f7601f9b2ae2aedd1ae34
Added Memory Persistence API and Generic Datatypes

Added a generic persistence API for JobBoards,
Jobs, LogBooks, Workflows, FlowDetails, Tasks,
and TaskDetails. The currently implemented
backends are in-memory. Also implemented generic
return types (listed above) for the generic API.

Change-Id: I6d09860ee08a900faf2c213a230429bf9e0dec01
Merge "Added Memory Persistence API and Generic Datatypes"
Added Backend API Database Implementation

Added a SQLite backed backend API implementation
that interfaces with the database using sqlalchemy.
All of the unit tests associated are included as
well.

Change-Id: I0948fe85d381db4ef1305ed6234ca3e06f3c8760
Merge "Added Backend API Database Implementation"