Merge pull request #10725 from neerajdotname/remove_code_duplication

Remove code duplication
Add test for AR::CounterCache.update_counters
Refactor AR's counter_cache_test.rb test
Merge pull request #10667 from rubys/minitest-autorun

Eliminate minitest warnings
Require only minitest.

minitest/autorun required minitest/spec and we are avoiding to require
it.
Add CHANGELOG entry for 99860582b2b1c0fc42bf84c52aac57b243d42678
Fix the `:primary_key` option for `has_many` associations.

When removing records from a `has_many` association it used
the `primary_key` defined on the association.

Our test suite didn't fail because on all occurences of `:primary_key`,
the specified column was available in both tables. This prevented the
code from raising an exception but it still behaved badly.

I added a test-case to prevent regressions that failed with:

```
  1) Error:
HasManyAssociationsTest#test_has_many_assignment_with_custom_primary_key:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column: essays.first_name: UPDATE "essays" SET "writer_id" = NULL WHERE "essays"."writer_id" = ? AND "essays"."first_name" IS NULL
```
deprecate Validator#setup (to get rid of a respond_to call). validators do their setup in their constructor now.
Merge branch 'deprecate-validator-setup'

Closes #10716
HashWithIndifferentAccess#select working as intended

Before this commit, #reject returned a HashWithIndifferentAccess,
whereas #select returned a Hash. Now #select also returns a
HashWithIndifferentAccess.
Merge pull request #10713 from senny/10693_fix_primary_key_option_on_has_many

Fix the `:primary_key` option for `has_many` associations.
enhanced comments for foreign_key_present? method
correction on cache.fetch race_condition_ttl
Merge pull request #138 from lifo/cache

correction on cache.fetch race_condition_ttl
Merge pull request #10222 from senny/update_bundler_section_in_assets_guide

docs, adjust the application.rb snippets to match the generated file.

Closes #10449
Add note about upgrading custom routes from `put` to `patch`.
Add note about decorator loading in Engines guide.

Because decorators aren't referenced by the application, they won't get
autoloaded. And because we recommend the pattern, it would be irresponsible
to not show how to load them properly.

Fixes #10647.
add notice to server boot messages if using default 0.0.0.0 binding
Fix some typo in method names, variables
compatability => compatibility