Allow model elements to be removed if nothing is going to use them.
Make inner classes static to avoid unnecessary references.
Merge branch 'release'

Conflicts:
	subprojects/core/src/main/groovy/org/gradle/model/internal/DefaultModelRegistry.java
Extend model removal check to check for dependent finalizer rules as well as mutation rules.
Added spec for single test method execution (renamed the test-suites into something more generic).
Updated some formatting in the spec.
More formatting updates
More formatting updates
Fix typo in deprecation message.
REVIEW-3525: move common logic from field/method option element to AbstractOptionElement
REVIEW-3524: start moving more stuff into NotationParser.
Throw exception if declared POM dependency version cannot be resolved.