expose maxPriorityViolations settings in the CodeNarc plugin (GRADLE-1742)
docs for CodeNarc maxPriorityViolations settings
Doc: Bring groovy versions back into alignment

Minor change to userguide to bring groovy versions back into alignment.
Master is now on 1.7; reset release notes
Handle {@literal} javadoc tags in DSL generation.
Fixed one minor typo.
Added some notes after pairing with Adam.
Add story to spec for GRADLE-2754 - don't configure deferred configurables on project.properties
Spec for including parameter values for parameterised testng methods in reporting.
For parameterised TestNG tests, include representations of the iteration parameters in the reports (XML and HTML).
Documentation for reporting support for TestNG parameterized test cases.
Updated performance spec.
In-memory caching of dependency metadata. Some preparation before merging from the branch. Refactored code so that I can reuse it easier. Moved DefaultArtifactIdentifier to coreImpl where it belongs.
First stab at caching the dependency metadata in memory. Certain builds are faster by up to 30% with this change.

1. This is a breaking change because we no longer check local repository dependencies with each resolve (unless we're tight on heap space - read on). Also, remote repository dependencies don't expire during the build (dynamic versions and changing modules). There may be use cases that need this feature, hence we plan to add a configuration option to turn off the in-memory dependency metadata cache. To recap: this is a potentially breaking change, however it should make the builds more consistent.
2. The cache data is managed by our 'top level' services registry. This means it lives only within a given build. The new top level services for dependency management require a review and more work (e.g. other dependency management services should be managed at a build level, or even globally etc.)
3. Different repositories are separated. E.g. there's a different instance of cache data for every different repository. Repositories are identified by their 'id'. This is required because modules with the same identifier may be different in different repositories.
4. I've added basic integ test coverage. It's tricky to integ test this feature because it's contract is really 'make the resolution faster'. There's a chance the new integ tests turn out flaky. Some unit test coverage is missing (next push).
5. The cache uses soft maps to avoid heap pressure. At this stage, I don't have evidence it uses more or less memory - we'll see what the performance tests say.

Documentation is missing yet, I'm working on it. I wanted to get this change soaked by our CIs and performance tests.

Please review!
Caching descriptors. Added some unit test coverage, some refactorings.
In memory descriptors cache can be turned off. For now using a system property (simpler).
Documented the in-memory dependency metadata cache in the release notes.
GRADLE-2760 - don't max the number of parallel project execution threads to 4

The original intent here was to protect users from themselves as there appears to be no significant gain in going past 4. However, this is too opinionated.
Add story on making file type coercion visible in the DSL reference.
Add test coverage requirements for file type coercion being performed when setting via setProperty() (via DynamicObject and via statically declared methods - such as Project.setProperty())