New data types and loading support

This is a major refactoring and reworking of Thunder's support for input data formats and data types, including new data type classes, backed by RDDs, that support a variety of manipulations and conversions. Will be documented more thoroughly as part of an upcoming release.