Fix ActiveRecord locking column defaults not getting persisted

When partial inserts are enabled, overridden db defaults are ignored. This
results in locking columns having a nil value for new records if the db default
is null. This happens because the list of changed attributes for new records is
always assumed to be empty.

Solution: When a new record's default attributes are set, also initialize the
list of changed attributes by comparing current values against what's stored as
the column defaults in the database.
remove unused payloads in blocks in caching instrumentation
Fix improperly configured host in generated urls

If the host in `default_url_options` is accidentally set with a protocol such as 

```
host: "http://example.com"
``` 

then the generated url will have the protocol twice `http://http://example.com` which is not what the user intended. Likely they wanted to define a host `host: "example.com"` and a `protocol: "http://"` but did not know the convention.

This may not the most common problem, but when it happens it can go undetected for a while. I accidentally added `http://` out of habit recently only to find all the links in my emails were broken after deploying a demo site to production. Rather than allow this accident go undetected, we can fix the problem in line by properly setting the protocol and host.


I was able to find this related question on stack overflow: http://stackoverflow.com/questions/5878329/rails-3-devise-how-do-i-make-the-email-confirmation-links-use-secure-https-n where the answer was highly upvoted.

This is based off of work in #7415 cc/ @pixeltrix

ATP Action Mailer and Action Pack
Calling find() on an association with an inverse will now check to see
if the association already holds that record in memory before checking
the database for the specified ids.
Merge pull request #9807 from vipulnsward/remove_unused_payloads

remove unused payloads in blocks in caching instrumentation
Merge pull request #9529 from wangjohn/find_on_inverse_of_bugfix_9470

Find() on an association with an inverse will now scan existing in-memory records
Fix guides error on error class name

The error that's raised in case the required key is missing it's actually `ActionController::ParameterMissing` not `ActionController::MissingParameter`. It's important to fix so that people reading the guides knows what error to rescue from when needed.
Merge pull request #9816 from sebasoga/strong_parameters_guide_fix

Fix guides error on error class name
Remove mentions of "app" from http request docs [ci skip]
Merge pull request #9794 from schneems/schneems/email-host

Fix improperly configured host in generated urls
Changed the call to .sort.last to .max when computing the migration version. You
do not actually need to sort everything (incurs more cost than just a
simple max).
Commas aren't comas.

Type a fixo.
Merge pull request #9817 from knewter/fix-test-case-name-typo-in-ar

Commas aren't comas.
Merge pull request #9818 from wangjohn/sort_last_to_max_in_migration_version

Changed the call to .sort.last to .max when computing the migration version
Raise an ArgumentError when a clashing named route is defined
Fix some typos in AR- CHANGELOG, tests, method doc. fixed
Fix broken ActionController#action_missing

A recent change introduced the assumption that all controller actions
are known beforehand, which is not true when using action_missing.
Fix a typo
Merge pull request #9825 from rShetty/patch-1

Fix a typo
Merge pull request #9821 from vipulnsward/fix_typos_in_AR

Fix some typos in AR- CHANGELOG, tests, method doc. fixed