CDK-139: Updating FS impl to use Descr locations.

Now that DatasetDescriptors have getLocation and getConfiguration, the
FileSystem Dataset/Repo/Provider implementations can use the Descriptor
to pass Dataset paths. Now, the FileSystemMetadataProvider assigns a
location when creating a Dataset. FileSystemDatasetRepository uses the
paths that are set on the DatasetDescriptor.

Because location and configuration are being passed by the
DatasetDescriptor, all of the classes necessary to get a FileSystem and
Path for a FS-based Dataset are available. So this commit also removes
the FileSystem and root Path from the FS repo and the FileSystem option
from the FileSystemDataset.Builder. This makes the FS classes more
flexible and handles Configurations more cleanly: only the
MetadataProvider is instantiated with a Configuration, which is passed
via Immutable objects where it needs to go.

Several helper methods that were previously protected because they were
shared between the FS MetadataProvider and DatasetRepository are now
private and owned by the MetadataProvider.

Tests are up-to-date and passing for core, but this breaks the Hive
integration. This update is primarily to fix problems in the Hive
integration anyway.