Arrange JSON instances more like the rest of our code.

Employs the technique of (package) objects extending `*Instances` traits, which generally follows the scalaz model generally followed elsewhere in http4s.
It does open up a good question: does the empty string parse to JNull or is that an error?  It's only there to deal with the fact that `runLast` returns an Option.