push host / port / protocol extraction up

Then we only need to extract host once.
Add configuration to enable mail previews

Adds `config.action_mailer.preview_enabled`

This allows mail previewing to be enabled easily in non-development
environments such as staging. The default is set to true for development
so no changes should be required to existing Rails applications.

The mail preview path can still be configured using the existing
`config.action_mailer.preview_path` configuration option.

Adding this avoids devs from having to do stuff like:
https://gist.github.com/lengarvey/fa2c9bd6cdbeba96526a

Update actionmailer/CHANGELOG with new configuration.
Update configuring guide with new configuratation.
Add `config.action_mailer.preview_path` to configuring guide.
Fix doc unwanted dl Admin:: [ci skip]
Merge pull request #15997 from cirosantilli/typo

Fix doc unwanted dl Admin:: [ci skip]
Silence warning emitted in tests

The instance method `model_name` was being defined multiple times,
causing a redefinition warning.
[ci skip] Add missing prologue section of upgrading ruby on rails guide.
Merge pull request #16004 from JuanitoFatas/doc/patch-1

[ci skip] Add missing prologue section of upgrading ruby on rails guide.
Merge pull request #16000 from sgrif/sg-silence-warning

Silence warning emitted in tests
makes it sound less misleading
Merge pull request #15970 from lengarvey/add_configuration_option_for_mail_preview

Add configuration to enable mail previews
Rename preview_enabled option to show_previews
Merge pull request #16006 from ShunsukeAida/xml_http_request_comment_change

[ci skip] Fixed the documentation of xml_http_request? (aka xhr?)
flash doesn't pass objects #15522 [ci skip]
Add regression tests for keys on nested associations

This adds the regressions tests from issue #15893 to
master. It's checking that both strings and symbols are
accepted as keys for nested associations.
Merge pull request #15999 from eileencodes/add-regression-tests-for-keys-on-nested-associations

Add regression tests for keys on nested associations
do not hold on to a stale connection object. fixes #15998
Tiny follow-up to #15987 and 088b4c3e [ci skip]
Revert "Merge pull request #15394 from morgoth/fix-automatic-maintaining-test-schema-for-sql-format"

This reverts commit 46139d33c06715e74ad450428ece3ee84da98579, reversing
changes made to 8f247871bb18b2e3036a05df5f62cbfe3b402586.

Conflicts:
	activerecord/CHANGELOG.md
Move pk initialization logic onto `AttributeSet`

Better encapsulates its internals from `ActiveRecord::Base`.
Don't error when `dup`ing a record with no PK