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.
In my environment, the type parameters here aren't required by either java6 or java7, which is what we were hoping because the `Datasets` API is pretty annoying when they are. Since these changes fix the problem, could you remove these where possible?