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.