Implement `--dry-run` mode.

This supersedes #31.

Added a strategy for the test run mode. These include:

  * `:default` - Executes all test steps and reports the status of the test
  case back to the report.

  * `:dry_run` - Skips all test steps and reports back the status of the test
  case back to the report.

The strategy will default to the `:default` run mode if no mode is specified.
The run mode can be passed to `Cucumber::Core#execute` via the `run_options`
argument.

TODO: @mattwynne has suggested that the `Status::Monitor` is a bad name. He
suggests that this be renamed to `StepRunner`. I think this should be done as a
separate PR.