Local op methods

This part of the major refactor contributes all of the local operation methods modified for the datasource usage. It also includes a number of architectural changes, including modifying the RasterData and Raster object graph to simplify both object hierarchies. Tiling and other functionality is pulled up from RasterData and many classes became unnecessary.

- TiledRasterData was removed
- LazyCombine classes were removed. It was determined that lazy combinations only defer computation and do not actually save any computation time. LazyMap and LazyConvert, however, were kept, because in cases of multiple mapping it saves iterating over rasters multiple times. The map for RasterData was changed to lazy by default.
- Some of the functionality that was owned by RasterData was pulled up to the Raster level. ArrayRasterData, StrictRasterData and RasterData were merged.
- ResampledRasterData was removed. Resampling and cropping (operations that change the raster layout\tile layout) need to be reconsidered and implemented at a higher level.
- Zonal summary operations, which were implemented with tiling using logic.TileReducer1, are being replaced by RasterSource tile methods, and so are removed (currently not yet replaced).