Add scenarios for the callbacks for features with background

The scenarios for features with background and scenario outline need to
be tagged @wip-new-core.
Improve wire protocol support

Doesn't fix that remaining scenario yet though....
Basic feature for passing state between steps
Update scenario for new core behaviour

Because the new core compiles all steps before it executes them, the compile
pass will now send the step_matches message down the wire before the
begin_scenario message. So we need a wire server that can handle that.

This scenario now seems to fail just because of some defect in the
progress formatter that's not printing the exception. If we can fix that
we're done.
Fix the callbacks for scenario outlines with background

Update legacy_formatter to handle all the cases around scenario outlines
and backgrounds. Update the legacy_formatter_spec to cover as much of
this as possible. Remove the two @wip-new-core from the
formatter_callbacks feature.
Fix the usage formatter when using --expand

Add a scenario to the usage formatter feature for the --expand case,
and update the usage formatter to pass this scenario.