CDK-139 and CDK-123

This branch implements CDK-139, which adds location to `DatasetDescriptors`. It also merges in my branch for CDK-123: the location changes are needed to update the Hive implementation and the Hive code needed to be updated for location anyway.