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.

Address some comments from Andres

Change JUnit4 Provider to rerun failing tests immediately after each test class

Add webpage/document for describing rerun failing tests feature

Change some text on webpage

Remove rerunFailingTests and set rerunFailingTestsCount default value to 0.

Also push down rerunFailingTestsCount to Surefire and Failsafe mojo classes. Update vm page about this change.
This is for addressing Andreas' comments.