GEOMESA-201 Compute geometries from Geometry Filters

* This pr makes a first pass at extracting geometries to cover from the geometry filters.
* In order to do this, various things are refactored.
* GeohashUtils.getUniqueGeohashSubstringsInPolygon is widened to accept Geometries.
If you don't use ```dt``` replace with an ```_```.

```scala
case SpatialDateFilter(geom, _) =>
```