When JUnit tests have assumption failures, treat them as "skipped"

JUnit has a conception of "assumptions", when encode conditions in which a test is meaningful.
When an assumption fails, it means that the test provides no useful information, and should
"halt and be ignored".  Prior to this change, Gradle was treating JUnit tests with assumption
failures as "passed".

http://junit.sourceforge.net/javadoc/org/junit/Assume.html
Add unit test coverage for JUnit assumption handling
Add integration test coverage for JUnit assumption handling
Made notify-send notifications transient so that they don't clutter notification panel in Gnome Shell
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.