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.
Fix 'fields_for' doc typo.
Merge pull request #14341 from keikun17/master

fix minor typo 'fields_for'. [ci skip]
Whitespaces
Do proper adapter check
Change the assertions depending in the database adapter

This will avoid the confusing flunk logic
The 4.1 release notes is already a thing so lets show in the guides
links
mysql adapter also fails with a number bigger than int
current_adapter? accepts multiple arguments
Merge pull request #8313 from alan/only_save_changed_has_one_objects

Save has_one associations only if record has changes

Conflicts:
	activerecord/CHANGELOG.md