Add the task to the accumulator before running.

Instead of only adding the task to the rollback
accumulator after it has ran it is useful to add
it to the accumulator before it runs so that if
said task fails while running it can get a chance
at undoing anything it might have done.

Change-Id: I5c9cf2fd194e3b42639d84a0d9dfed3a3b5a797d
Don't keep the state/version in the task name.

Instead of having individual entries for the task
that change with the state name + version, we should
instead just keep the same task name but update the metadata
about the states the task has gone through instead. Also
store the task version in the same metadata and warn users
when the versions may be incompat.

This makes it easier to see what a task has done
without having to know all the states it has gone
through (just to find the task details about that
task) as well as being able to detect version issues.

Change-Id: Ia6b9400394212230905341d205d966dfdee5dfdf
Merge "Don't keep the state/version in the task name."
Merge "Add the task to the accumulator before running."
Fix the current flake8 errors

The test pip ordering was resulting in the pep8 rules not really
running so this fixes that up and the resulting errors so we can
get a clean run.

Change-Id: Icc27be05cd513c4f04135c7e768007dbf9d07b10
Fix all flake8 E* and F* errors

This was mostly unused modules or local variables.

Change-Id: I39f9598ba8b64101a10f80bae448d27272abeddd
Fix most of the hacking rules

Hacking rules: H302, H303, H304, H401, H404

Change-Id: I38e62696724a99c5ebe74d95d477999bd91a2c9a
Update readme to point to links.

Change-Id: I1700d9602519975729e1909dc9be29efa4d2fa32
Add a start of a few simple examples.

Change-Id: I6abd1798de6f2a778f874b8fa928772b94e7b588
Merge "Update readme to point to links."
Allow instance methods to be wrapped and unwrapped correctly.

Change-Id: Ia29e0e8a54fa815dec88016a9444fe7cfad7b8ac
Merge "Allow instance methods to be wrapped and unwrapped correctly."