JUnitFormatter: Fix indentation, hook handling and support all-steps-first execution

Adjust the number of . separating the step text from the step result, so that the results are aligned.
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.