GRADLE-2837: Ensure that a dependency project is fully evaluated before it is used by a referencing project in publishing
Mention in the release notes that our handling of Ivy configuration mappings has changed. Also some minor editing.
Make copy specs and file copy details not extensible (in DSL terms).

This is not the most elegant change. The changes to the class generator were made in such a way to change as little is possible due to the timing of this change in the release cycle.

The way we are achieving this functionality (i.e. disabling generating extensibility support) will change in the next release, therefore I am not going to document it in the release notes.
Changed CopySpec.getDuplicatesStrategy() so that it returns the effective strategy, rather than null, when no strategy has been defined, for consistency with the other inheritable properties. Also changed FileCopyDetails.duplicatesStrategy so that it is not nullable.
Removed @Nullable from ExternalResource.getMetaData().
Merge remote-tracking branch 'remotes/origin/release'