Adding args option to RunTestExecutable task for the native test suite
fix failing jdk8 windows ci test

- AvailableJavaHomes fixture didn't understand symlinks on windows created with mklink
- comparing java-home using File#canonicalPath is not good enough for mklink symlinks
- use Files.isSameFile(Path, Path) if using jdk7 or newer now.
- at the moment all this logic lives in internal-testing. At one point we need to add better symlink
support (in general and on windows) in our native support.
Changed components report to include test suites.
Reworked the approach to make ComponentReportIntegrationTest work on the various platforms.
Changed the test fixtures to discover the tool chains once rather than each time they are queried.
Spec updates.
Added a couple of open issues to spec.
Changed the test fixtures to select whichever version of gcc happens to be available on the path.
Changed GccVersionDeterminer to produce a VersionNumber rather than a String.
This test needs a jvm with a different version.
Changed AvailableJavaHomes.differentVersion to consider only JDKs for now.
Disabled this test on Windows until it has been stabilised.
stabilize GccToolChainCustomisationIntegrationTest
Story updates
change spec samples to to use @Mutation instead of @Rule
 it's @Mutate
Reformat
Removed a bit of TODO noise
Implemented ProjectClassDirectoryBinary.getTasks()
Deprecate incubating API that has been replaced