GEOMESA-234 using lexicoders for secondary index values

* Using mango lexicoders for primitive types
* Moving some encoding/decoding logic into more consistent locations
* Updating attribute strategies for querying with lexicoders
ah, yeah, heh. a TypeEncoder both encodes and decodes from a string to an object. blame mango.