Fixed `columns_for_distinct` of postgresql adapter
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
pg, `PostgreSQL::Name` to hold schema qualified names.
pg, `reset_pk_sequence!` respects schemas. Closes #14719.
`bin/setup` script to bootstrap applications.
Merge pull request #15189 from senny/bin/setup

`bin/setup` script to bootstrap applications.
:scissors: removed deprecated `Numeric#ago` and friends

Replacements:

   5.ago   => 5.seconds.ago
   5.until => 5.seconds.until
   5.since => 5.seconds.since
   5.from_now => 5.seconds.from_now

The removed tests does not affect coverage – we have equivalent test cases in
the tests for `AS::Duration`.

See #12389 for the history and rationale behind this.
Merge pull request #11896 from nkondratyev/fix_pg_columns_for_distinct

Fixed #columns_for_distinct of postgresql adapter

Conflicts:
	activerecord/CHANGELOG.md
pg, `default_sequence_name` respects schema. Closes #7516.
pg, support default values for enum types. Closes #7814.

This is an intermediate solution. It is related to the refactoring @sgrif
is making and will change in the future.
refactor, introduce `Type#type_cast_for_schema` to cast for schema.rb

This removes the case statement in `SchemaDumper` and gives every `Type`
the possibility to control the SchemaDumper default value output.

/cc @sgrif
Update Minitest references in Testing Guide

The Guide references `test/unit`, which has been replaced by `Minitest` in
all versions of Ruby supported by Rails. The following updates were
performed:

* The superclass of `ActiveSupport::TestCase` is no longer
  `MiniTest::Unit::TestCase`, but `Minitest::Test` [1].

* The preferred spelling is `Minitest`, not `MiniTest` [2].

* For a method to be a test in Minitest, its name must start with `test_`,
  not only `test` [3].

* Explanations about `test/unit` in Ruby 1.8 were removed in favor of more
  up-to-date information on `Minitest`.

[1]: https://github.com/rails/rails/blob/6c2b569660c9216595d02ce6412e3bdcc7293317/activesupport/lib/active_support/test_case.rb#L18
[2]: https://github.com/seattlerb/minitest/blob/d5d43cef9a3fd4a0eea972dde125ed5ba1ddb821/lib/minitest.rb#L9
[3]: https://github.com/seattlerb/minitest/blob/d5d43cef9a3fd4a0eea972dde125ed5ba1ddb821/lib/minitest/test.rb#L62
bin/setup uses `bundle check || bundle install` to improve performance.
Merge pull request #15425 from leafac/fix-testing-docs

Update Minitest references in Testing Guide
Change the version schema to reflect how deprecations are handled

[ci skip]

We only introduce new deprecations at Minor releases.
Merge pull request #15313 from andreychernih/time-with-zone-string-conversion-speed-up

Speed-up TimeWithZone to String conversion
Allow specifying a default value in overloaded properties
Update guides to mention 3.2.18.

And reword things a little to mention the specific patch release less.
Rename attribute related instance variables to better express intent

`@attributes` was actually used for `_before_type_cast` and friends,
while `@attributes_cache` is the type cast version (and caching is the
wrong word there, but I'm working on removing the conditionals around
that). I opted for `@raw_attributes`, because `_before_type_cast` is
also semantically misleading. The values in said hash are in the state
given by the form builder or database, so raw seemed to be a good word.
Merge pull request #15426 from oggy/doc-3.2.18

Update guides to mention 3.2.18. [ci skip]