Fix Hive MetaStore URI handling.

The hive.metastore.uris property is set in hive-site.xml, but the Loader
and HCatalog class were checking the property before creating a HiveConf
that reads the hive-site.xml file. This prevented the environment's
MetaStore URI from being loaded.

This also updates the logic to fail rather than warn if a local
MetaStore is being used because the local MS is only for testing. To
avoid this failure, this commit introduces the property,
kite.allow.test-metastore to override the new behavior and adds a
hadoop-site.xml file to the test resources that adds it to the test
environment. (Use hadoop-site.xml because hive-site.xml breaks Hive.)
CDK-192: 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.
Fix missing dataset URI prefix bug.
CDK-192: Clean up Registration and Datasets.

This cleans up the separation between the Registration and Datasets
classes. Registration handles URI matching and returns DatasetRepository
objects. Datasets handles any other operations that use those
repositories and the data. Load and view are now one method that returns
the appropriate object based on the URI.

This also expands Datasets, adding create, update, and delete methods
that call the appropriate method on the repository responsible for a
given URI. This is to enable the CLI to use Dataset URIs, solving the
problem of how to use more than one repository for CLI operations.
Fix a bug in hive managed URI construction.
CDK-192: Update CLI to use Dataset URIs.

This enables the copy command to work between repositories.