asset guide, match application.rb snippets to the generated file [ci skip]

`if defined?(Bundler)` is no longer used in our current application.rb
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
Merge pull request #10713 from senny/10693_fix_primary_key_option_on_has_many

Fix the `:primary_key` option for `has_many` associations.
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 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.
Correctly handle relations as values in where() for polymorphic associations.