Fix integer overflows in GDALDataset::BlockBasedRasterIO() when dealing with buffer > 2 GB

git-svn-id: https://svn.osgeo.org/gdal/trunk/gdal@27992 f0d54148-0727-0410-94bb-9a71ac55c965