Improve readability of sentence in partial-renderer docs [ci skip]
Renderer#_render_template should be private

Closes #12831
Use the right indentation
_implied_layout_name should be private
Update caching guide with respect to :namespace

Cache::Store does not have a default value for :namespace. If it ever did, I can't find it in the git history.
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
${GEM_NAME} 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). It will be moved to the ${GEM_NAME}.
Make the JSON encoder pluggable