Support new-style steps in 0.8.x

This backports support for new-style steps, including `ShellMixin` and `CommandMixin`, to 0.8.x, along with a bunch of documentation and some hacks to validate that new-style steps are behaving correctly.

This should be sufficient for users to begin writing new-style steps before upgrading to 0.9.x.