CDK-473: Report illegal CSV header characters early

Closes #151
CDK-550. Kite does not compile against Hive 0.13.0
CDK-473: Moved header check to a util method in Compatibility

Closes #151
CDK-557: Fixed typos in kite-tools POM file
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("").