Add docs about behaviour of replacing a has_one associate object, that the previous one is deleted even if the new one
 doesn't get persisted to database.

 Fixes #13197 . [ci skip]
Merge pull request #13838 from vipulnsward/13197-fix-has-one-documentation

Add docs about behaviour of replacing a has_one associate object.
Fix indent on test case [ci skip]
Log which keys were set to nil in deep_munge

deep_munge solves CVE-2013-0155 security vulnerability, but its
behaviour is definately confuisng. This commit adds logging to deep_munge.
It logs keys for which values were set to nil.

Also mentions in guides were added.
Handle aliased attributes in AR::Relation#select, #order, etc.

With this we can write `Model#select(:aliased)`, `Model#order(:aliased)`,
`Model#reoder(aliased: :desc)`, etc.

Supplementary work to 54122067acaad39b277a5363c6d11d6804c7bf6b.
Merge pull request #11821 from kuroda/select-and-order-by-aliased-attributes

Handle aliased attributes in AR::Relation#select, #order, etc.
Added documentation for css_compressor
Merge pull request #13813 from lukesarnacki/log-deep-munge

Log for which keys values were set to nil in deep_munge
Merge pull request #13864 from sowjumn/master

Added documentation for css_compressor in asset_pipeline.md
scope is not necessary
always use a block for cleanup / prepare callbacks so we can clean the method signature