Added additional tests to the GeoTiff reader and NoDATA replacement

Added additional tests to the GeoTiff reader and also added so that if the GDAL unofficial NODATA tag is present, that NODATA value in the image bytes is replaced by GeoTrellis NODATA value.
This could be 'nan', which would blow this up. See https://github.com/OSGeo/gdal/blob/trunk/gdal/frmts/gtiff/geotiff.cpp#L6686

Which uses this function to convert from the string to the double NoData value: https://github.com/OSGeo/gdal/blob/trunk/gdal/port/cpl_strtod.cpp#L143

Which has a bunch of code to it. But that's how we should convert from string to NoData value. I would suggest reading in the tag as a double for the tag. And create the logic of converting from String -> Double as something that can easily be reused (or extendable) to go from Double -> String, for when we have the writer use it.