CDK-496: Added the type parameter to the Datasets API

I also went through and extended the use of the type parameter down to at least Avro files
and CSV files. In order to support Parquet and HBase, I think more work needs to be done
on the underlying stores. But if I missed something, I can get those in before the merge.
The only problem with that is ClassNotFoundException is a checked exception and I believe that load(Configuration) is called from a context that overrides a method that doesn't throw it, so we'd have to turn it into a RuntimeException anyway.  

Tom suggested that instead of a plain RuntimeException, as it was in an earlier iteration, it should decend from DatasetException. Hence the new exception.  


On Thursday, July 3, 2014 at 22:09, Ryan Blue wrote:

> In kite-data/kite-data-mapreduce/src/main/java/org/kitesdk/data/mapreduce/DatasetKeyInputFormat.java:
> > private static <E> View<E> load(Configuration conf) { > + Class<E> type; > + try { > + type = (Class<E>)conf.getClass(KITE_TYPE, GenericData.Record.class); > + } catch (RuntimeException e) { > + if (e.getCause() instanceof ClassNotFoundException) {  
> Would it be appropriate to just re-throw the ClassNotFoundException instead of introducing a TypeNotFoundException?
>  
> —
> Reply to this email directly or view it on GitHub (https://github.com/kite-sdk/kite/pull/122/files#r14545287).
>  
>  
>