GEOMESA-389 Refactor SimpleFeatureEncoder

Separated encoder trait from decoder trait
oddly enough they don't compile with maven

[INFO] --- scala-maven-plugin:3.2.0:compile (scala-compile-first) @ geomesa-core-accumulo1.5 ---
[INFO] /home/ahulbert/IdeaProjects/geomesa/geomesa-core/src/main/java:-1: info: compiling
[INFO] /home/ahulbert/IdeaProjects/geomesa/geomesa-core/src/main/scala:-1: info: compiling
[INFO] Compiling 77 source files to /home/ahulbert/IdeaProjects/geomesa/geomesa-core/target/classes at 1411522088517
[ERROR] /home/ahulbert/IdeaProjects/geomesa/geomesa-core/src/main/scala/org/locationtech/geomesa/core/data/SimpleFeatureEncoder.scala:82: error: overloaded method apply needs result type
[ERROR]     SimpleFeatureDecoder(originalSft, projectedSft, FeatureEncoding.withName(encoding))
[ERROR]     ^
[ERROR] /home/ahulbert/IdeaProjects/geomesa/geomesa-core/src/main/scala/org/locationtech/geomesa/core/data/SimpleFeatureEncoder.scala:79: error: overloaded method apply needs result type
[ERROR]     SimpleFeatureDecoder(sft, FeatureEncoding.withName(encoding))
[ERROR]     ^
[ERROR] two errors found