REVIEW-2073: Removed extra cache-locking for calls to Task.execute() 
- This was added to prevent a regression preventing JettyStop.execute(), but is no longer required.
Some edits to the testing spec.
fix typo in BuildSetup chapter (buildSetup -> setupBuild task)
updates to design spec

- introduce concept of gradle module metadata
- metadata is now a function over module x repo
- talk about defaults for status and statusScheme (needs discussion)
- talk about Maven and flatDir repos
added open issue to design spec
Remove some dead build code.
minor typo and a (hopefully) clarifying example of what kind of thing an integration test does for the testing kit spec.
GRADLE-642 - Add test case for trying to compile some Scala code without defining a scala library.

Also exercises the general case where we are trying to infer the Scala runtime but can't find it.
Add an iteration index to the name of parameterised TestNG methods.

Not having unique names causes problems in reporting. Adding the iteration index ensures uniqueness.
Don't try and hide failures to convert TestNG test parameters to strings for the test report.

Previously we used a representation of the failure in place of the value. Now we fail the test with a special exception and avoid including the parameter values in the test name.
Add license header.
Source the tooltip js for the release notes from our custom repo instead of having it in the source tree.
Add story to spec about using any libs that are part of the build runtime as local candidates during resolution.
Some updates to file coercion spec.
Inlined test util into the only place it was used.
Removed unused method.
Changed dependency insight report to order dynamic selectors after static selectors and to use lexicographic ordering for dynamic selectors (rather than random ordering).
Minor refactor in logic that assembles the artifacts for a dependency edge.
bump pmd version to test against
REVIEW-2219: default to least mature status for flatDir repo