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.
Yeah, I meant to only have this in my branch. The travis build fails due to warnings, but I couldn't see the actual warnings. I think it's an OpenJDK/Oracle JDK difference, and I was hoping to fix them before these changes got committed. This will be reverted before then.