Minor improvements to Test task javadoc.
Some class renames and minor refactorings around the copy spec classes.

Cleaned up some things and renamed to be more consistent with our conventions.
Rename CopySpecVisitor to CopySpecContentVisitor.

This is an interim step for some pending cleanup.
Make class public (in visibility).
Add another constructor variant that assumes FileSystems.getDefault().
Replace excessive mocking in test.
Remove getAllSpecs() method.
Expose the children of the DefaultCopySpec directly.
Keep less state as instance variables for the copy task hierarchy, and generally detangle things.

The primary change is that the visitors are now created just to do the processing, meaning that the tasks no longer incur their weight after the copy.

This change also removed CopyAction and its various implementations, reducing the number of classes overall.
Collapse visitFile and visitDir methods of CopySpecContentVisitor.

Implementations can decide if they want to differentiate.
Class rename.
GRADLE-2838 - make includeEmptyDirs respected per copy spec child.
Simplify CopySpecContentVisitor.
Cleanup after bad merge from rebase.

I'm not sure what happened. The rebase should have been clean but I had very strange conflicts.