CDK-283: Run hadoop-1 tests on default artifacts.

This updates the Travis CI config to run hadoop-1 tests on the default
artifacts produced by building against hadoop-2 dependencies. This tests
the binary compatibility of Kite with both versions.

The hadoop-1 profile no longer builds artifacts, and should only be used
for testing with:
  mvn test -Dhadoop.profile=1 <other options>
CDK-283: Add kite-hadoop-compat module.

To fix morphlines when hadoop-1 jars are provided, this moves the
dynamic method resolution from kite-data to a new module,
kite-hadoop-compatibility, that provides dynamically-resolved shim
methods to work around binary changes. Now both kite-data and
kite-morphlines depend on kite-hadoop-compatibility for methods like
getConfiguration and getFileSystem.

Hadoop-1 tests are passing locally.
Add equals and hashCode to URIPattern.

This allows URI patterns registered with DatasetRepositories to be
replaced. This is to support tests that register mock URIs.
CDK-384: Add CLI from CDK-55.

Dataset partitioning support has been removed because unpartitioned
datasets are sufficient to support the first few examples. When the
partition strategy format is finalized and committed, this should use
it.
CDK-388: Move filesystem package to spi.filesystem.

Because filesystem is now in the SPI, this eliminates the Accessor and
moves the Loader to get rid of the impl sub-package.
CDK-388: Add deprecated filesystem API for transition.
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.
CDK-376: Initial working CSV InputFormat.

This also adds a CSVAppender for testing with TestMapReduce that is
disabled by default.
CDK-376: Fix CSVInputFormat hadoop-1 compat.
CDK-350. Support HBase datasets in CrunchDatasets#asSource.
CDK-351. Add view support to DatasetInputFormat.
Implement getSize and getLastModifiedAt for file-based datasets.
Refactor HBase test
Fix a bug in ConstraintsSerialization.
Add a test for source view in HBase.
Have DaoView return a delegate input format.