Taking a stab at the rollback feature

It's only a prototype, I still need to sleep/hack on this.
For example, all the actions have to invoke the `rolled_back` macro
right now, which should not be the case for the final version.
Moving all errors into the errors.rb file
Getting rid of warnings
Adding specs for `#fail_with_rollback!`
Added a spec for `WithReducer`
Testing the rollback scenario
No problem if action does not respond to `rollback`
Renaming the AddsTwoAction test double

This way it won't collide with the other test doubles with the same name
I will move under the `TestDoubles` namespace.
Moving all add_numbers test doubles under TestDoubles
No need to redefine
Acceptance tests for actions with no rollback implementation
Fixing the spec text, making it clearer
Logging the `fail_with_rollback!` actions

This change writes WARN logs to the current logger. It's not perfect, it
does not describe that it's a fail with rollback and it's rolling back
the changes.
Adding acceptance test for rolling back in the middle

This acceptance test verifies the scenario where the action in the
middle fails with a rollback.
Adding rollback functionality to README
Merge pull request #56 from adomokos/rollback

Rollback functionality