Tidied up useDefaultListeners flag (TestNG).

- undeprecated the flag in code, updated the release notes accordingly
- added documentation for 'useDefaultListeners' and 'listners' properties including code samples
- documented in the docs & release notes how to use old TestNG reporting
Added Test.binResultsDir property, and write binary test results to this directory when tests complete, so that they are available later for reporting on.
Added initial TestReport task, which takes the binary test results from one or more test tasks and generated the HTML test report.
Fixed TestTest to not scribble into $rootDir.
Added className to TestClassResult, so that it does not need to be carried around separately.
- Include test output in report generated by TestReport task.
- Replaced TestResultsProvider.getResults() with visitClasses(). This allows results to be streamed, rather than loaded into a giant map and then converted to another giant map.
- Filter duplicate test classes from the report generated by TestReport task.
GRADLE-2408 - Review 902.

• @Incubating on StartParameter.getAllInitScripts()
• Test fixes/improvements.
Stop all daemons at the end of each DaemonIntegrationSpec subclass.
Updated year in copyright template.
Added TestReport.reportOn() as a convenience for wiring up the TestReport task to one or more Test tasks.
Added a sample for the TestReport task.
Moved the TestNG samples
Warn when duplicate test class found when generating test report.
Changed the return type of UnresolvedDependencyResult.getFailure().
Added the TestReport type to the DSL guide.
Mention Gradle.gradleHomeDir in the DSL guide.
Remove equals/hashCode; no longer needed.
Remove some redundant checks.
Migrate release note checks to be junit tests.
Add some tests for the JS in the release notes for the fixed/known issues.