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
minor fix to 4.1 rel notes for begin_transaction joinable option [CI skip]
Completely remove potential global state leaks in ActiveModel tests.

ActiveModel tests can now be run in random order.
Merge pull request #14343 from garysweaver/master

minor fix to 4.1 rel notes for begin_transaction joinable option
Fixes STI when 2+ levels deep.

PR #14052 Added a regression where it was only looking for methods in one
level up, So when the method was defined in a 2+ levels up the
inheritance chain, the method was not found as defined.
register OID for PostgreSQL citex datatype [Troy Kruthoff & Lachlan Sylvester]

citext makes it possible to use AR Hash finders for case-insensitive matching as sql UPPER/LOWER functions are not needed.
Removed unnecessary command "application"
Merge pull request #11616 from arunagw/removed-application-command-rails

Removed command "application"
Merge pull request #14342 from zuhao/eliminate_global_state_leak_in_activemodel_tests

Eliminate global state leaks completely in ActiveModel tests
Merge pull request #12523 from lsylvester/pg_citext

Support for PostgreSQL citext data type.
`change_table` supports `citext`. Follow up to #12523.