Work in progress: refactor raster store and raster data structure

 This WIP PR refactor raster related data structures, including coverage store, raster store, raster feature, and refactors Accumulo related raster data operations into single class. It attempts to avoid geotools and accumulo specific references at high level raster data structures and operations. This PR depends on PR #363 (GEOMESA-506,GEOMESA-504).
We don't need a 'Factory' since we aren't implementing a set of GT interfaces. 

Rather, we can use apply methods in companion objects.  See https://github.com/locationtech/geomesa/blob/f_wcs_jnh/geomesa-raster/src/main/scala/org/locationtech/geomesa/raster/data/AccumuloCoverageStore.scala#L78-96 for an example of what I'm thinking.