GEOMESA-389 Refactor SimpleFeatureEncoder

Separated encoder trait from decoder trait
And...they end up being recursive calls to themself..