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.
Could you explicitly state that "test methods" are rerun after failing? Or is it the whole test class that is executed again? And in what particular order?
E.g.:
```
public class MyTest {
  public first() { } -> passes
  public second() { } -> fails, needs rerun
  public third() { } -> passes
}
```
What is the exact order there? ```first() / second() / third() / second()```? My impression from the quick glance below is that you rerun the class, but filter only for the failed tests. That would also mean that ```@BeforeClass``` / ```@AfterClass``` are executed again, right?

I would guess that either this parameter documentation needs much more info, or you also extend / create a new page in ```maven-surefire-plugin\src\site\apt\examples``` or somewhere near.

Something that really must be mentioned here is that it only works for the JUnit 4 / JUnit 47 providers.