Add Transit JSON/MessagePack support

This PR adds Transit JSON/MessagePack support. `:form-params` encoding
is triggered by setting the `:content-type` to either `:transit+json` or
`:transit+msgpack`. Response body decoding is triggered by setting `:as`
to `:transit+json`, `:transit+msgpack` or just `:auto`.

The `wrap-form-params` middleware has been refactored to call the
`coerce-form-params` multi method to enable pluggable form encoding in a
similar fashion as we have done with `coerce-response-body`.