CDK-320: Move MetadataProvider to SPI.

This also moves the the test code into the SPI, but not the
MetadataProviderException. The exception will be deprecated as part of
CDK-372 in favor of problem-focused exception classes.
CDK-320: Add MetadataProvider interface for compatibility.

This adds the org.kitesdk.data.MetadataProvider interface back, which
extends the SPI MetadataProvider for compatibility until 0.14.0. This
also deprecates MetadataProviderException. In 0.14.0, it can also be
removed.

Deprecation warnings for MetadataProviderException have been fixed by
catching DatasetException or a more appropriate exception and by
wrapping a more specific exception in a MetadataProviderException when
propagating exceptions. In most cases, a MetadataProviderException now
wraps a DatasetIOException. Wrapping exceptions is done by
Accessor#providerExceptionFor to avoid deprecation errors for imports,
which can't be suppressed.
CDK-320: Remove MetadataProvider from FS repo builder.

This removes the metadataProvider method that configures the FS
repository builder because the provider is no longer in the public API.
Callers setting the provider now must use the constructor. Because the
Builder can't be used to create a FS repository with a different
provider, the Hive integration now subclasses the FS repository and sets
the provider in its constructor.

FileSystemDatasetRepository#getMetadataProvider is now package-private
because it is required by the Hive intregration, which includes its own
package-private version.
CDK-320: Remove URI handling from Hive MetadataProviders.

URIs were added to the Hive MetadataProviders because the wrapped FS
provider returned a Dataset with DatasetDescriptor that could not be
changed (which is also Immutable). The last commit updated the Hive
repositories so they extend the FS repo and set its URI correctly, so it
returns Datasets with correct DatasetDescriptors and the Hive metdata
providers no longer need to know about the repo URI.
CDK-320: Return DatasetException to avoid deprecation warning.

This hopefully fixes Travis CI.