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
TemporaryDatasetRepositoryAccessor 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.