Added ActiveSupport.default_json_encoder option

This option allows you to swap out the default JSON encoder used by
ActiveSupport::JSON.encode and Object#to_json. This allows you to
write custom JSON encoders to provide additional functionailities
(such as encode_json support and caching), or to use alternative JSON
libaries. The default is ActiveSupport::JSON::Encoding::JSONGemEncoder
which uses the built-in JSON gem.