Make it possible to inject a glue when creating a Runtime

To aid testing, make it possible to inject a glue when creating a
Runtime. Also add a test specify that a CucumberException is thrown
if no backends are found (or an emtpy collection of backends is
injected).
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.
Upgrade dependencies
Revert version bounces
Merge pull request #556 from brasmusson/junit-formatter-fixes

Merge pull request #556 JUnitFormatter: Fix indentation, hook handling
and support all-steps-first execution.
Update the History.md