Handle expectations specific to IDE plugins for the broken artifact use case.
Avoid using the cache for module artifact set when result can be calculated cheaply

- Added LocalArtifactsModuleVersionRepository which allows 2-stage artifact set resolution
   - Initial resolve is cheap and local-only. If resolved, then result is not cached.
   - Otherwise, we check the cache for a previous value, and store any calculated results in the cache.
- This is not a great solution: it would be preferable to push caching down to the resource layer, so that the existence of an artifact is cached. This would required integrating the cache timeouts into the resource layer.
Removed unused constant and some methods that were only used in tests.
Added type paramter.
Verify that dependency declared in pom profile wins over dependency declared in main body of pom.
Changed int test to use MavenModule fixtures.
Changed int test to use ResolveTestFixture.
Some simplifications.
GRADLE-3052 - Generate an operation description if starting work on a cache that is still locked, but there is no active operation for.
Added 'cunit' plugin to list of core plugins.
Some edits to release notes.
Tweaked some links in release notes.
Remove redundant assert in BuildInvocationsCrossVersionSpec
Change BuildInvocations model to return root project data only when no project is passed.
Test that BuildLauncher.forLaunchables preserves order.

And fix a bug with model backing classes in a wrong scope that
makes it impossible to send them to provider.
Test that BuildLauncher.forLaunchables keeps order for selectors.
Do not insist on task execution order when testing that selector run.
Some tweaks to the performance test styles, upgraded to jquery 1.11.0.
Added some controls to show/hide various columns in the performance reports.
Some style tweaks for performance test reports.