Add failing tests to disclose issues with the RerunFormatter

Add failing tests for the handling of failures in background,
scenario outline examples and hooks in the RerunFormatter.
Move helpers to test formatters to TestHelper.
Fix errors in the RerunFormatter, move its testing to core

Fix the rerun formatters handling of failures in background,
scenario outline examples and hooks in the RerunFormatter.
Move all testing of the RerunFormatter to core.
Move helpers from CucumberPrettyFormatterTest to TestHelper

Move helpers from CucumberPrettyFormatterTest to TestHelper, and
refactor to make the helper share implementation in TestHelper.
Use the new Formatter interface methods in the RerunFormatter

Simplify the RerunFormatter by taking advantage of the new methods
startOfScenarioLifeCycle and endOfScenarioLifeCycle in the Formatter
interface.
Merge #589. Update History.md