CDK-299: Add support for a CompressionFormat option on DatasetDescriptors.

 * Fixed final review comments in this rebase

Closes #181.
Add javadoc to withType configuration methods.
CDK-602: Remove DatasetRepository from kite-data-core.

This removes DatasetRepository from the API along with any dependent
classes, like DatasetRepositoryException and
FileSystemDatasetRepository. The exception has been replaced with more
consistent usage of DatasetIOException and ValidationException, and with
a new exception, DatasetOperationException that wraps any
implementation-specific failure.

RandomAccessDatasetRepository is removed in both the API and SPI. It is
no longer needed when using Datasets methods to instantiate datasets
because the return type is cast based on the context.
CDK-602: Remove DatasetRepository from HBase implementation.
CDK-602: Rename hcatalog package to spi.hive.

With DatasetRepository removed from the public API, the HCatalog classes
can be moved to the SPI (like the FS implementation) and renamed from
HCatalog to Hive.

Also fixes uses of DatasetRepositoryException.
CDK-602: Remove Constraints Serializable methods.

Constraints are now passed in the MR formats using view URIs rather than
serializing the Constraints directly.