Add DynMethods support for hidden implementations.

The new hiddenImpl builder method will get a declared method (which may
be private) and attempt to set it to be accessible.
CDK-549: Add DoFn transform to copy and import commands.

This adds --jar and --transform options to the copy and import commands.
The jar option will add a jar to the distributed cache and the current
classloader. The transform option is the name of a DoFn class that will
be instantiated and used to transform GenericRecord objects. It must
produce GenericRecord objects.
Add configurable ClassLoaders to dynamic helpers.
CDK-549: Use new ClassLoader for user-supplied transforms.

Before this, the addJars method was invoking addURL on the current
loader, which is a hidden method and isn't allowed on secure JVMs. This
commit uses the ClassLoader handling from obj-schema to load the
user-supplied transform class and create a TransformTask. This also adds
a addJars method to the TaskUtil configuration helper.
CDK-549: Add class validation for transformed values.
CDK-549: Add tests for transform DoFns.
CDK-549: Improve error message when DoFn cannot be loaded.
CDK-549: Revert changes to copy, add transform.

This adds a "transform" command to transform records via copy from one
dataset to another. The copy command is now purely a copy.