Align the step results in the JUnit test result files

Adjust the number of . separating the step text from the step result,
so that the results are aligned.
Add tests for the JUnitFormatter to disclose issues

The main issue is that the JUnitFormatter does not handle failures
in the before and after hooks properly. To add flexibility the tests
also specify that the JUnitFormatter should handle both all-steps-first
execution and one-step-at-the-time execution.
Fix issues in the JUnitFormatter

Change the JUnitFormatter to handle failures in the before and after
hooks properly. Also change the JUnitFormatter to handle both
all-steps-first execution and one-step-at-the-time execution.
Revert to all-steps-first scenario execution

To fix the missmatch between the PrettyFormatter from the Gherkin
library and Cucumber-JVM, by reverting the scenario execution to
all-steps-first execution as in Cucumber-JVM 1.1.2. This is possible
since the JSONFormatter in the Gherkin library in Gherkin 2.12.0
supports all-steps-first execution.
Merge PR #557 into PR #544

Verify that the changes in PR #557 indeed fixes #491 and the other
reports of that the PrettyFormatter is broken.