GEOMESA-389 Refactor SimpleFeatureEncoder

Separated encoder trait from decoder trait
Yeah...but not in GeoMesa :) Eventually I'm going to move it out but then we couldn't easily open source it.