Implement `_was` and `changes` for in-place mutations of AR attributes
Don't expose these new APIs yet (added in 877ea78 / #16189)

WARNING: don't use them! They might change or go away between future beta/RC/
patch releases!

Also added a CHANGELOG entry for this.
Merge pull request #16189 from sgrif/sg-attribute-was-in-place

Implement `_was` and `changes` for in-place mutations of AR attributes