Add adapter for legacy progress formatter to 2.0 spike.
First pass adding pretty formatter adapter

@mattwynne this is starting to hit the timing issues you mentioned. We are
currently printing the scenario name after the steps.
Print scenario name before steps.

Include all required print methods to run full stack using legacy pretty
formatter.
Improving the spike formatter:

* refactor to use a single SourcePrinter
* print feature
* try to print location (though indent is still to do)
* show backgrounds (even if they're appearing out of sequence)
Fix broken colours in the tests

For some reason, running this feature in-process turns the colours off
half way through the test run. No time to investigate, so I'm just going
to spawn it instead.
Try using a debugging formatter
Adapt formatter specs to use new core

Run specs with USE_CORE env variable set to switch.
Retro-fit specs for debug formatter
Start getting the adapter to pass debug formatter specs
Aha. Now printing steps of a scenario outline.

This represents learning for me. The `describe_source_to` method won't
-- currently anyway -- walk down into each node in the source. So when
you get a `ScenarioOutline` from `describe_source_to` you still need to ask
it to describe itself so you can see the `OutlineStep`s within it.

This will be the same for `Ast::Step` source nodes where we want to see
the Multiline arg within it.
Change tack for the ReportAdapter - use a stack
Tweak adaper so it actually works when run in integration
Support backgrounds in legacy formatters
Run formatters with CORE by default
Ensure that multiple steps don't fire new feature_element events
Move creation of StepsPrinter into Scenario or Background Printer
Don't store the background in the EventStack
Refactor report adapter to model as a tree not a stack

@tooky do you think this is an improvement
Refactor ReportAdapter in a DSL-ey direction
Merge remote-tracking branch 'origin/master' into spike-formatter-adapters

* origin/master:
  Bump gherkin version
  minor history reformatting
  Release 1.3.6
  Fixed name of the tag for 1.3.5
  Fixed #493: sometimes tables is just table not part of outline and should not used to calculate scenario's status
  Remove autoformat functionality.
  Same legal issue than README.md
  Legal issue at README.md
  Release 1.3.5
  Bump multi_test.

Conflicts:
	features/docs/cli/autoformatting.feature