Use TS::Cache instead plain Hash in TimeZone.

Plain ruby Hashes are not thread safe.
Unify AS::TZ's lazy init maps.

There's no point in having 2 almost identical (@lazy_zones_map and @zones_map) lazy initialized TZ instance caches.
Remove AS::TZ.lookup(name).

The method doesn't really make much sense (find_tzinfo will succeed for any imput provided).
remove leftover firebird adapter tests.
tyop
sync example and documentation for strong_parameters hash whitelisting.

[ci skip]

This is a follow up to #12609 and integrates #12158.

Thanks @aspiers.
Closes #12158.
Merge pull request #13049 from senny/remove_firebird_tests

remove leftover firebird adapter tests.
the oracle adapter lives in a gem. Tests should live there as well.
changed update counter to act on unscoped model
Merge pull request #13018 from heruku/scoping_fix

changed update counter to act on unscoped model
Add branch to arel in Gemfile so that we can use local repos [ci skip]
Minor typo fixes
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
More typo fixes