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.