Handle mission options for EncodeJson / DecodeJson
The contract for middleware plugs seems to be that they either get zero or
more options in a list, or :nil. The EncodeJson and DecodeJson
implementations, however, were expecting either a list or no opts argument
at all.
Set opts to an empty list instead, if it's falsy (:false or :nil), just like
the combined JSON middleware does.