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
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