Class name improvement.
GRADLE-2902 - Only expose public CopySpec methods to users.

Implementations are wrapped in a type that hides any internal methods. This is necessary to prevent surprising behaviour when a user accidentally collides with the name of an internal symbol.