Issue #2 Ensuring features are parsed before formatters are initialised

Following the discussion in https://github.com/cucumber/cucumber-jvm/pull/651 it was suggested that reports should not be created until we know if there are syntax errors.

The formatters that use a URLOutputStream with a file protocol will all create their report files when the factory creates the formatter which at the moment is done when RuntimeOptions are created

I have added a test to demonstrate this and attempted to fix it.
See https://github.com/tmullender/cucumber-jvm/issues/2 for some explanation of the approach