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
Fix handling of embed for the JSON formatter

The legacy_formatter need to make sure that the embed calls from the
step definitions are not passed to the formatter until it got
information about the corresponding step.
Add @spawn to the scenario: embedding screenshot

If the scenario is not @spawn:ed the scenario: "
features/docs/gherkin/background.feature:346 #
Scenario: run a feature with a background that is pending"
fails in the JRuby build on Travis (due to that a full error backtrace
is emitted, so it seems that the -b flag is carried over somehow).