Reworked the GDAL read/target window computation

There were some slight rounding errors that could occur along tile
boundaries in the GDAL driver.  Rewrote the logic to use double
precision intersectionSameSRS function, be more careful with floor/ceil
to ensure that the windows are correct and added new geoToPixel function
that accounts for very slight rounding errors along dataset edges. Fix
for issue 347.
Merge branch 'master' of https://github.com/gwaldron/osgearth