Allow customisation of the distribution plugin

Test coverage
Allow distributions to be installed
Generate a TAR distribution
Fix merge problem.
REVIEW-1445: use a single dependsOn
REVIEW-1426: add sonar-runner plugin to standardPlugins.xml
REVIEW-1426: mention sonar-runner plugin's incubating status
Change how the JSoup transformation stuff works to be more flexible.

 It is now implemented as a copy task extension DSL.
REVIEW-1424: sonar runner plugin should behave correctly when not applied to gradle root project
renamed property for consistency
REVIEW-1399: fixed package name for sonar-runner plugin
REVIEW-1399: use wildcard in generic signature
REVIEW-1399: use a composite action for configuring sonar properties
REVIEW-1396: fixed docs for `IdeaProject.projectLibraries` defaults
REVIEW-1390: added @Incubating annotations
adapted spec to recent change
Renamed IOActions.writeFile() to writeTextFile()
Renamed IOActions.writeFile() to writeTextFile()
Added XmlTransformer.transform(node, file) to allow the transformer to take care of encoding, and changed DefaultDeploymentDescriptor to use this. This means that the generated ear deployment descriptor is always encoded in utf-8.
Minor javadoc edits.
Removed some extensive logging from the daemon client. Logging every message from the daemon kills the debug output. Even the stack traces are very hard to debug because every line is separated with a debug statement.
Reconfigured our resolvers to gain some efficiency. Please review - I'm not sure that this is the right direction. The artifact cache unlocking/locking decorator is not used for local repositories - our local repositories don't use cache any way. This boost the performance of dependency resolution by up to 30% in projects that use local repositories.