Some very basic unit level test coverage for associating output at the test case level in JUnit XML files.

Also made some test fixtures for build TestResultProvider instances more reusable.
Enabled generating the JUnit XML file with output per test case.

This is not complete. The actual generation of the XML based on the TestResultsProvider is unit tested and there is functional level coverage when running TestNG tests.

Coverage for JUnit is needed, as well as coverage at the intermediary parts of the results/report generation.

There are also some types to tidy up.
Restore Javadoc.

It was mangled by an IDEA auto format.
Moved int test into core project.
Moved some int tests into scala project.
Tweaked some of the performance test thresholds.
Ignore baseline version with the same base version as the version under test.
Don't use Groovy reflection in the TestNG listening infrastructure.

Going through Groovy reflection incurs the cost of going through Groovy's MOP for no benefit in this case.

There are other cases where Groovy is being used to do reflective method invocations that should be audited.
Replace use of unnecessary Groovy based reflective invocation with Java based.
Update to latest nightly.
Use getMethod() instead of getDeclaredMethod().

It was a mistake that it was committed using getDeclaredMethod().
Missing import.
Renamed default ClassDirectoryBinary instances to {name}Classes
Use instantiator for constructing ExecutableBinary and SharedLibraryBinary instances
Added integration test for applying 'java', 'cpp-exe' and 'cpp-lib' plugins to single project
Started work of supplying compile attributes directly to the CppCompile task, rather than providing a pre-constructed CompileSpec
- Output file is a regular property of the CppCompile task, which supplies it to the compile spec (rather than the other way around)
- Moved baseName property off GppCompileSpec onto NativeComponent
- Added outputFileName and outputFile properties to NativeComponent (outputFile should go, I think)
Changed includes, libs and source properties to be annotated inputs of the CppCompile task
Moved setting of cpp workDir into CppCompile task
Added integration test for setting c++ compiler arguments
Reworked c++ compiler arguments so that they are input properties of the CppCompile task
- Added compilerArgs collection to NativeComponent, NativeBinary and CppCompile task
- Copy the compiler args onto the compiler spec when executing tags
- Include compiler args in option file for compiler, rather than supplying as separate command-line args