Fix error backtrace for the JSON formatter output

@wip-new-core removed for three scenarios in the json_formatter.feature
The step backtrace in not only needed for the print_exception method in
StepInvocation, but also for the before_step_result/after_step_result
methods. Therefore add the step backtrace line when the StepInvocation
is created.
A DocString object cannot be raised as en exception in JRuby
Make the modified backtrace not leak to @exception

The modification of the backtrace in filtered_step_exception should not
affect the backtrace of @exception.
Set current_test_step_source in before test step
Make changes to debugging in legacy format adapter
Merge pull request #704 from brasmusson/json-formatter-error-backtrace

wip-new-core: Fix error backtrace for the JSON formatter output
Collect result along with the nodes

Inline the print_step_container conditionals to expose the ugly!
Add seed to random.

Hopefully should fix those flickering tests.
New OpenStruct syntax no worky on older Rubys

cc @tooky
Pass output from step definitions on to gherkin formatters

The legacy_formatter need also to make sure that the puts calls from
the step definitions are not passed to the formatter until it got
information about the corresponding step.