GRADLE-2171: Added DuplicatesStrategy allowing duplicate
files (based on their path) to be included or excluded, by
default for an entire copy operation or on a per-file basis

- duplicatesStrategy field to FileCopyDetails so individual files
  can specify their own strategy for handling duplicates

- add duplicatesStrategy field to CopySpec so that an entire copy
  spec can specify the default strategy (this can be overridden
  for some or all files)

- add CopySpec.matching and .notMatching convenience
  methods. These let the user modify a group of FileCopyDetails
  simultaneously. Motivated by setting a duplicatesStrategy for
  eg, "META-INF/**/*.xml" but is generally useful

- added CopySpec.duplicatesPriority that determines precedence
  among CopySpecs when a duplicate file is to be
  excluded. Plugins can set a higher duplicatesPriority for some
  specs (eg, Jar.manifest and Jar.metaInf), but this property is
  not currently user-settable.