Add pipelining (composition)

Fixes #41.

- [x] Implement `run!`. Sharing code with `ActiveInteraction::Base` would be ideal.
- [x] Ensure `@steps` is non-empty in `run`.
- [x] Handle errors in option transformers.
- [x] Write better tests.
- [x] Wrap `run` in a transaction. Again, it would be nice to share code with `Base`.
- [x] Write documentation.
- [x] Add `@since` tag to documentation.
- [x] Add an example in the README