Update RecordNotFound exception cases to include a message with the
Model that the Record was not found in.
[ci skip] Reword a comment in concern's documentation

Nothing biggie. Skimmed through `ActiveSupport::Concern` docs these days
and this one comment seemed a bit off.
Merge pull request #16981 from gsamokovarov/concern-docs-comment-reword

[ci skip] Reword a comment in concern's documentation
Merge pull request #15791 from zev/add_model_to_recordnotfound_message

Update RecordNotFound exception cases to include a message with the
Quick fix to address the borken build caused by #15791

This is pretty lame though, so feel free to send a PR with a better fix! ;)

cc @zev @tenderlove
Fix find_by with associations not working with adequate record

For now, we will just skip the cache when a non-column key is used in the hash.
If the future, we can probably move some of the logic in PredicateBuilder.expand
up the chain to make caching possible for association queries.

Closes #16903
Fixes #16884
No need to call to_sym here

The hash is now string-keyed, and [_]reflect_on_association calls `to_s` on the
argument anyway.
ActiveRecord CHANGELOG improvements [skip ci]
Merge pull request #16987 from jonatack/patch-8

ActiveRecord CHANGELOG improvements [skip ci]
Fix that a collection proxy could be cached before the save of the owner, resulting in an invalid proxy lacking the owner’s id.

Absent this fix calls like: owner.association.update_all to behave unexpectedly because they try to act on association objects where
owner_id is null.

more evidence here: https://gist.github.com/Empact/5865555
```
Active Record 3.2.13
-- create_table(:firms, {:force=>true})
   -> 0.1371s
-- create_table(:clients, {:force=>true})
   -> 0.0005s
1 clients. 1 expected.
1 clients updated. 1 expected.
```

```
Active Record 4.0.0
-- create_table(:firms, {:force=>true})
   -> 0.1606s
-- create_table(:clients, {:force=>true})
   -> 0.0004s
1 clients. 1 expected.
0 clients updated. 1 expected.
```