Move some of the code for tracking a plan run into its own class

This eliminates some duplication between the sequential & parallel run code
Implement the Stepford::Role::Step::Unserializable role

Any class which consumes this role will be run in the same process as the
Stepford::Planner object, even when doing a parallel build.
Add docs to Stepford::RunData and exclude it from pod coverage testing
Rename Stepford::Planner to Stepford::Runner
Rename Stepford::RunData to Stepford::Runner::State