Made SpringFactory use beforeTestClass and afterTestClass methods on each scenario to support @DirtiesContext annotation and other TestExecutionListener implementations supported by the TestContextManager
Made SpringFactory tolerant for non-spring context defining step definitions
Added unit tests to test new functionality
Resolved review comments:
Refactored processing of TestContextManagers from stop() method to its own method call.
Added empty lines at end of files.
Resolved review comments:
Fixed unused step definitions
Renamed contextManagerMap to contextManagersByClass  int SpringFactory
Corrected exception handling of TestExecutionListeners to correctly clean up state, and retain relevant information on all incurred exceptions that may have occurred.
Compilation error was fixed for Spring Framework @DirtiesContext and non-Spring step defs.
Squashed dirty Spring features
Merge pull request #572 from ffbit/spring-dirty-context-support

[Fix] Spring test support for @DirtiesContext and non-Spring step defs
Use StopWatch.Stub in the test of JUnitFormatter

Use StopWatch.Stub in JUnitFormatterTest to control the duration of
steps and hooks. Take advantage of this to let two more test cases use
feature execution instead of calling the formatter interface directly.