datasetBandCount + some cleanup
using a phantom type for raster datatype. not sure if the signatures are getting too unwieldy...
some cleanup and simplification of type signatures for client code
test cleanup