Added support for additional data types for rasterize function

This includes a utility function to aid IO with bands based on data
type, and a wrapper class for working with in-memory GDAL raster
datasets and bands for use with GDAL functions in cython.

Includes additional validation logic for data type in rasterize.

Includes additional test cases for data type support.
Merge pull request #155 from brendan-ward/issue136

Added support for additional data types for rasterize function