Save has_one associations only if record has changes

Prevents save related callbacks such as `after_commit` being
triggered when `has_one` objects are already persisted and have no
changes.
Only use BINARY for mysql case sensitive uniqueness check when column has a case insensitive collation.
Add tip about using RDoc's --pipe command to quickly test the output of
a piece of documentation.

This can be useful for trying out combinations of markup and code, as
discussed in rails/rails@225bcad
[ci skip] Close the meta tag with '/>' instead of '>'

This change fixes the 42 instances of `end tag for "meta" omitted, but
OMITTAG NO was specified` error message that comes up when the full
railsguides are validated.

Full error list at
https://gist.github.com/prakashmurthy/9086679.
Merge pull request #14107 from prakashmurthy/patch-1

Close the meta tag with '/>' instead of '>'
Methods silence_stream/quietly are not thread-safe [skip ci]

State that on the doc.

[fixes #11954]
Merge pull request #14102 from arthurnn/quietly_doc

Add note to silence_stream and quietly. [skip ci]
Pointing to latest guides [ci skip]
change 'assert !' to 'assert_not' in guides [ci skip]
Merge pull request #14120 from gregmolnar/guides

change 'assert !' to 'assert_not' in guides [ci skip]
Revert "speed up the collection proxy reader method, but slow down the constructor"

This reverts commit f9e4c3c7c0c4152b62fe9202a9d12262884bb118.

[fixes #14116]
Add regression test for collection proxy reader

[related #14116]
[skip ci] Fix the javascript path in guide for asset modules
Merge branch 'master' of github.com:rails/docrails
Merge pull request #14124 from arthurnn/fix_14116

Fix collection proxy exists? regression
Merge pull request #14086 from jingweno/master

Fix the javascript path in guide for asset modules [skip ci]
Check if the `request` variable isn't nil when calling render_to_string

closes #14125
Merge pull request #14129 from joankaradimov/fix-render-to-string

Fix `render_to_string` when called via manually instantiated controllers
Revert "context in validation goes through has many relationship"

This reverts commit 5e3d466d52fa4e9a42c3a1f8773a7c31da875e48.
adding a test for #14106