Added some failing tests where the JSON encoder is not resolving as_json correctly
Expanded coverage on JSON encoding
Removed support for encoding BigDecimal as a JSON number

This is because the new encoder will no longer support encode_json.
Therefore our only choice is to return `to_i` or `to_s` in
`BigDecimal#as_json`. Since casting a BigDecimal to an integer is
most likely a lossy operation, we chose to encode it as a string.

Support for encoding BigDecimal as a string will return via the
`activesupport-json_encoder` gem.
Removed the Ruby encoder and switched to using the JSON gem

Got all the tests passing again.

Support for `encode_json` has been removed (and consequently the
ability to encode `BigDecimal`s as numbers, as mentioned in the
previous commit). Install the `activesupport-json_encoder` gem
to get it back.
Make the JSON encoder pluggable
Process::Status should get a :nodoc: [ci skip]
Be explicit and use the actual unicode sequence
Merge pull request #12183 from chancancode/json_encoder_refactor

JSON encoder refactor