Rebased on master and implemented latest review feedback.

 * Renamed DataUtils to DataModelUtil
 * Added a TypeNotFoundException for when runtime type classes can't be found
 * Fixed some import statements
 * Changed IllegialArgumentException to NullPointerException when passing a
null type to the Datasets load, create, and update methods.