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.


This isn't a concern of this PR, but I wonder if streaming synchronously blocking resources like ```InputStream``` shouldn't also take and executor service, which could have a default.