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.
Test of multiple update to tags.

New branch for this test because it's a crasher.

Boom!
Clone metadata list before modifying.

Test of multiple update to tags.

New branch for this test because it's a crasher.

Boom!
Update change log.