address rounding errors and add tests for tileindex
Limits the amount of floating point operations in conversion between TileIndex and GeoCoordinates. Adds tests for the operations.
By doing most operations in integers rounding errors are limited.
Also the computation of the corner coordinates had some bugs, but this operation is not really used a lot.