CDK-353: Move location choice for FS datasets into the repo.

This is to enable temporary datasets, where the MetadataProvider is not
used. The FS MetadataProvider no longer sets the location, this is done
by the FS DatasetRepository. The repo will still use a different
location if the provider overrides the incoming location, which is the
case with Hive.
CDK-353: Allow dataset locations to be passed to the FS repo.

Imports need to store metadata using the FS repository that can be read
as a Dataset in MR, but pass in the location of existing data. This
removes the check that ensured location was not set. This used to throw
an exception, but is now allowed.
CDK-353: Add TemporaryDatasetRepository for MR.

This updates MR to use datasets from a temporary repository rather than
datasets in the target repository for temporary MR records and files.
Otherwise, jobs writing to Hive will create a dataset for each reduce
task attempt, which all send partition updates.

This introduces a TemporaryDatasetRepository and a
TemporaryRepositoryAccessor so that repository implementations can
supply a more appropriate repository. FS datasets return repositories
rooted in .temp/ underneath the repository's root directory, and Hive's
temporary repository does not interact with Hive.
Update dataset script, remove HCatalog and add MR 0.20.

Jobs fail on CDH 4.x unless the hadoop-0.20-mapreduce libs are in the
classpath when using the old JobTracker. This also works on CDH 5.x,
so it is the current default. The script will fall back to
hadoop-mapreduce libs if hadoop-0.20-mapreduce is not found.
CDK-192: Update CLI to use Dataset URIs.

This enables the copy command to work between repositories.
CDK-192: Add view copy command.

Crunch's MemPipeline won't write to MapReduceTargets, so the CopyTask
has to write to the output View manually. Crunch is still used to
materialize the incoming collection so that DoFn transforms can be used
later.
CDK-192: Fix csv-import to run in parallel.

This updates the csv-import command to use the CopyTask and a temporary
repository to set up a Dataset for the incoming CSV data, stored in the
same FileSystem as the data. This is compatible with the
kite-data-mapreduce formats.