WIP: Refactors to geotrellis-spark

This PR modifies the geotrellis-spark API to
 - remove type aliases to tuples where case classes produces cleaner code
   - TileIdRaster is now Tile
   - TileIdCoordRaster was refactored out, the tile coords can be found on the Tile
 - adds a withContext { ... } method and expands out some of the mapPartitions => map calls for readability
 - Moves from a Object.toOtherType(instance, ...) to instance.toOtherType(...) pattern, which is more in line with the rest of the library.