Allow custom encoders to be used in noir.response/json

Currently, noir.response/json uses cheshire.core encoders for
JSON encoding. This has limited utility for custom types, most
notably org.bson.types.ObjectId for use with MongoDB. Cheshire
supports custom encoders using cheshire.custom. Recent versions of
cheshire when using cheshire.custom (which has the same API as
cheshire.core, plus a few functions), will attempt to use core first
for faster encoding, but will fallback on any custom encoders that
have been added.

This commit changes noir.reponse/json to use cheshire.custom so that
end users can add their own encoders for types not supported by core.