Add rerunFailingTests option for maven surefire to rerun failing tests i...

Add rerunFailingTests option for maven surefire to rerun failing tests immediately after they fail. Each single test method now maintains a list of its runs. DefaultReporterFactory now contains a few maps between test and the list of all its runs. If a test passes in any of its reruns, the build will be marked as successful and the test will count as flake.
An issue was opened recently that we should prefix the VM-Properties with the plugin name. So we should pull this parameter up to the Surefire Mojo and the Failsafe Mojo classes to have ```property = "surefire.rerunFailingTestsCount"``` and ```property = "failsafe.rerunFailingTestsCount"``` separated. Just leave a protected getter in AbstractSurefireMojo for it.