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
Clear inflections after test.
add tests for argument error cases
add a test for existing mapper functionality

I'm not sure if this is actually used, but I'm adding a test to define
the behavior
set defaults at the top so we can avoid the ||= test
[ci skip] Improve form_helpers.md guide.
extract controller checks to methods
reduce blank? checks
Merge pull request #15395 from JuanitoFatas/docs/form-helpers

[ci skip] Improve form_helpers.md guide.
reduce action.blank? calls
fewer blank? calls
invert logic to remove nil? and exclude? checks (use ruby rather than AS when possible
trade 2 is_a? checks for a nil check
Fix indentation from 1b4b26f [ci skip]
return early if we have a valid controller name
Merge pull request #15384 from zuhao/refactor_actionpack_params_wrapper_test

Clear inflections after test.
swtich to returning early if to responds to call