[SUREFIRE-915] runOrder=failedfirst runs new tests last

Patch by Takeji Naigeon, applied with slight modifications
o Simplified logic
o Improved javadoc
o Migrated to m-s-u
added generics
o mpir 2.6
fixed typos
o Added faq entry about abnormal process termination
Fixed typo
[SUREFIRE-924] deploy Surefire plugins site in /surefire instead of
/plugins
[SUREFIRE-913] forkMode always - RejectedExecutionException when > 500 tests

Fix as suggested by Garry Tully
Fixed site trouble
[SUREFIRE-926] Failure status incorrect with multiple providers.

This fix reviews the general failure status and may fix other problems too
[SUREFIRE-926] IT based on test project by Larry Shatzer
[SUREFIRE-927] Added support for TestNG configuration configFailurePolicy
configFailurePolicy - Whether TestNG should continue to execute the remaining tests in the suite or skip them if an @Before* method fails.

Signed-off-by: Kristian Rosenvold <krosenvold@apache.org>
[SUREFIRE-925] Allow includes and excludes to be read from files

Add integration tests for includesFile/excludesFile ( based on IncludesExcludesIT )
Add tests with mixed includes + includesFile.  Drop withXmlFile stuff not used.

Minor changes and reformatted to code style by Kristian Rosenvold
[SUREFIRE-920] -Dmaven.test.failure.ignore=true isn't honored

Fixed with IT
[SUREFIRE-751] forkMode=onceperthread
Added licence headers, javadoc, did some minor renaming
Fix browsable git URL.