CDK-560: Set javaVersion to 1.7

 * Update javaVersion
 * Keep javaTargetVersion to 1.6
 * Update README

Closes #156.
CDK-552: Removed how to contribute from maven site

 * Updated link to point to the wiki version

Closes #159.
CDK-515: Added tests for Spark jobs reading from/writing to Datasets.

 * Added spark-core_2.10 under dependency management
 * Implemented tests that use FileSystemDataset and HBaseDataset
 * Added exclusions to the pom to fix hadoop-1 profile build

Closes #150.
CDK-489: Move DatasetRepository to the SPI

 * Moved DatasetRepository to org.kitesdk.data.spi.DatasetRepository
 * Moved RandomAccessDatasetRepository to org.kitesdk.data.spi.RandomAccessDatasetRepository
 * Added deprecated interfaces that inherit from the SPI versions
 * Deprecated DatasetRepositories
 * Removed uses of DatasetRepositories from the code and test code

Closes #158.
CDK-551. Use Hive's public API for metastore operations
CDK-571: Check relative URIs if their empty before calling new Path(URI)

Closes #164.
Fix Findbugs warning.
CDK-347. Implement DatasetTarget#handleExisting and WriteMode support.
Add Range#toString and Range.fromString methods.
Add Predicates toString and fromString methods.

Range and In are handled directly, other predicates will use
RegisteredPredicate to register a factory for a name. Registered
predicates are converted to "name(<...>)" strings, where name is a
registered name and the inner part is produced by toString. Exists is
now a RegisteredPredicate.
Move predicate classes into new spi.predicates package.
Add View URI support.

* Add View#getUri()
* Add Constraints to/from query map
* Use Constraints.fromQueryMap in Datasets to build views
* Add URIBuilder constructor for dataset or view URIs
* Add URIBuilder support for Constraints#toQueryMap
CDK-501: Use view URIs in kite-data-mapreduce.
CDK-501: Add tests for Predicates toString, fromString.
CDK-501: Add URL encoding for URI string predicates.
CDK-501: Remove inf from unbounded ranges.

This implements Tom's suggestion to use the empty string to signal a
missing bound rather than "inf". This only collides with String bounds,
where the empty string is a valid bound. But, the only behavioral
difference is that the empty string itself is included in the range and
it is no longer possible to express a from-after in terms of the empty
string or the range upTo("").
CDK-501: Add more view URI tests.

This uses local file dataset URIs to test, but the test applies to any
implementation that uses AbstractRefinableView. Introducing a test
dataset, view, repository, and URI pattern to make this slightly more
generic wasn't worth the work.

This fixes URIBuilder; when constraints are empty, the URI should be a
dataset URI. Also fixes AbstractDataset, which should implement equals
and hashCode to make these tests work.
CDK-501: Change exists predicate to special case.

The exists predicate is now represented in a view URI as "field=",
instead of "field=exists()". The less-common case, matching the empty
string, is now represented as "field=in()".
CDK-501: Add fixes from Ben's review.
Issue #162. The "not" command does not continue processing children when the condition fails.