Fixed `columns_for_distinct` of postgresql adapter
Added documentation for the :param option for resourceful routing
Remove unnecessary include for integration tests.
Speed-up TimeWithZone to String conversion

I've noticed that `String(model.created_at)` is performing poorly in comparision
with other fields. The source of the problem is a way `Kernel#String` works: it first
tries to call `to_str` (which causes `NoMethodError` in `method_missing`) and then calls `to_s`.

Performance tests:

    tz = Time.zone.now

    Benchmark.ips do |x|
      x.report { String(tz) }
    end

Without this code:

    Calculating -------------------------------------
                               572 i/100ms
    -------------------------------------------------
                            10177.7 (±18.2%) i/s -      48620 in   5.000325s

With this code:

    Calculating -------------------------------------
                              1518 i/100ms
    -------------------------------------------------
                           138984.2 (±10.1%) i/s -     677028 in   4.974897s
Move types to the top level `ActiveRecord` namespace

`ActiveRecord::ConnectionAdapters::Type::Value` =>
`ActiveRecord::Type::Value`
pg, keep `hstore` and `json` attributes as `Hash` in @attributes.

The solution presented in this patch is not efficient. We should replace it
in the near future. The following needs to be worked out:
  * Is `@attributes` storing the Ruby or SQL representation?
  * `cacheable_column?` is broken but `hstore` and `json` rely on that behavior

Refs #15369.

/cc @sgrif @rafaelfranca
Initial doc for TransactionIsolationError [ci skip]
Add with_default_charset helper.
Merge pull request #15381 from zuhao/refactor_actionpack_content_type_test

Add with_default_charset helper.
Move I18n.locale setting into setup and teardown.
Merge pull request #15383 from zuhao/refactor_actionpack_localized_templates_test

Move I18n.locale setting into setup and teardown.
Add and remove renderer inside the test to prevent leak.
Avoid hardcoded value in teardown.
Merge pull request #15385 from zuhao/refactor_actionpack_render_other_test

Add and remove renderer inside the test to prevent leak.
Remove unused `Column#coder`

It appears this property was added, but never actually used. It would be
broken if it were, as it only type casts one way.
Unregister Mime::Type in teardown.
Merge pull request #15388 from zuhao/refactor_actionpack_send_file_test

Unregister Mime::Type in teardown.
Merge pull request #15387 from sgrif/sg-remove-column-coder

Remove unused `Column#coder`
Merge pull request #15386 from zuhao/refactor_actionpack_request_forgery_protection_test

Avoid hardcoded `request_forgery_protection_token` value in teardown.
Clear inflections after test.