V2.0: Pass output from the step definition on to the gherkin formatters (JSON formatter)

The output from the step definition is not passed on in the GherkinFormatterAdapter, which cases the output to be missing the the generated JSON report.

This RP fixes that. To make it work the legacy_formatter delays the calls to puts from the step definitions until the formatter has been informed of the corresponding step (similar to the handling of embed calls in #705). 

The corresponding PR for v1.3.x is #701