Make Test implement Reporting.

The biggest change here is that we now consider the JUnit XML output a report, instead of a result. This also means that it shows up in the build dashboard.

The documenation for the Java plugin or the Test task has not been updated. There is also no test coverage that the newly deprecated API correctly delegates to the replacement.
Stream output events to disk in a binary format, where each output event is associated the test method name.

This extra information is not being used at this point.
Fix compile error due to class rename.
Fix compile error due to class rename.
Revert test changes.

More work needs to be done to update tests.
Added a performance DataReporter implementation that collects results in an H2 relational database instance. Not wired in yet.
Moved some performance test fixture classes around.
Extracted OperationTimer out of MeasuredOperation and added some unit test coverage for PerformanceTestRunner.
Added a very rough HTML test history report and wired it into the performance test execution.
Fleshed out performance test report to show average execution time and heap usage for each test execution.
Made PerformanceResults.baselineVersions a private field.
Include a bunch of information about the performance test environment and test execution in the persistent results store (jvm version, etc).
Generate the performance test report once at the end of the test execution, and moved the data store to live under ~/.gradle-performance-test-data
Performance test specifies its own test identifier instead of generating one from the runner settings. Don't persist the test display name.
Minor tweak to performance report.
Revert "Revert test changes."

This reverts commit 310eca1d7294179b537f520d05627ec060adc145.
Use the concrete type for the test reports container so that @Nested can find the additional outputs.
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.