Add documentation and integration test coverage for distTar

Add integration tests to ApplicationIntegrationTest
Add distTar to Application Plugin Documentation
Add unit test coverage for JUnit assumption handling
minor formatting cleanup; add credits to sean for the distTar contribution to the release notes.
remove author doc block
Remove some redundant code.
Rename TestFileContext to TestWorkDirProvider, and don't make TestFile implement it.
Update to build with the latest nightly.
Add integration test coverage for JUnit assumption handling
Added more stories to configure-on-demand spec.
First cut of "Software Component" support:
- SoftwareComponent represents something that is built by a project
- Project has a container of SoftwareComponent instances
- Java plugin adds a JavaLibrary component to the set of software components
- SoftwareComponents are not currently used anywhere
Updated 'maven-publish' plugin so it publishes SoftwareComponents
- Published artifacts are simply artifacts declared by component
    - Artifacts from the 'archives' configuration are _not_ published automatically
- Runtime dependencies are as declared by component
    - Published pom now includes all runtime dependencies in 'runtime' scope
Extends pom customisation test to tweak all project-coordinate values
Checkstyle and unit-test fixes
Updated publication DSL spec.
Moved finished stories out of the spec.
go back to 1.3 for building until XmlWriter issue is fixed.
drop invalid XML character in XML writer.
Remove GradleDistribution.getTemporaryFolder().

Makes no sense that the distribution provides the working space.

More work to come…
Don't have the GradleDistribution be responsible for providing the working space for a test.
Some renaming and cleanup around the test/temp directory used in tests.