GEOMESA-313 Handle Id and * queries

When an ID predicate is present in the ECQL filter, a scan of the record table is performed, optionally with SimpleFeature Filtering, regardless of the type of the other ECQL predicates.
I recommend breaking this up for readability:

```scala
if(!spatialFilters(filter)) None
else {
   val e1 = filter.asInstanceOf[BinarySpatialOperator].getExpression1
   val e2 = filter.asInstanceOf[BinarySpatialOperator].getExpression2
   if(isValidSTIdxFilter(sft, e1, e2) Some(new STIdxStrategy)
   else None
}
```