Make EntityEncoder invariant

* Contravariant type classes are scarce both in standard lib and scalaz.
* [This WONTFIX](https://issues.scala-lang.org/browse/SI-2509) and ["the blight of contravariance" discussion](https://groups.google.com/forum/#!topic/scala-language/ZE83TvSWpT4) shed light on why not.
* It didn't really hurt at all to make them invariant.


Perhaps a `Strategy`, with default `Strategy.Sequential`?