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