Small Action View Overview edits [ci skip]

Some small grammar and readability edits
Define the Duration#instance_of? method

Since Duration is extending from ProxyObject which extends itself from
BasicObject, the Duration object doesn't respond to the #instance_of?
method. Thus, the #method_missing hook get triggered, delegating the
method to its `value` attribute.

However, Rubinius' #eql? definition relies on #instance_of?, thus this
will equal to true with a Fixnum (since its `value` attribute is a
Fixnum) while it should not.

The previous behavior was wrong anyway, no matter the implementation.
Grammar pass

[ci skip]

Add improvements from @eileencodes [skip ci]
Fix SyntaxError
"warning: assigned but unused variable"
[ci skip] Fixing spelling typo in testing guide.
Merge pull request #16600 from bradly/spelling-fix-in-testing-guide

[ci skip] Fixing spelling typo in testing guide.
Enable gzip compression by default

If someone is using ActionDispatch::Static to serve assets and makes it past the `match?` then the file exists on disk and it will be served. This PR adds in logic that checks to see if the file being served is already compressed (via gzip) and on disk, if it is it will be served as long as the client can handle gzip encoding. If not, then a non gzip file will be served.

This additional logic slows down an individual asset request but should speed up the consumer experience as compressed files are served and production applications should be delivered with a CDN. This PR allows a CDN to cache a gzip file by setting the `Vary` header appropriately. In net this should speed up a production application that are using Rails as an origin for a CDN. Non-asset request speed is not affected in this PR.
Merge pull request #16466 from schneems/schneems/gzip-action-dispatch

Enable gzip compression by default
Change 'does' to 'do'
Merge pull request #16603 from jwworth/task/fix_grammar

[ci skip] 4.2 release notes grammar fix
Upgrade guide pass. [CI SKIP]
Avoid duplicating routes for HEAD requests.

Follow up to rails#15321

Instead of duplicating the routes, we will first match the HEAD request to
HEAD routes. If no match is found, we will then map the HEAD request to
GET routes.
Improve router test.

We should assert that routes will not be recognized if the verbs do
not match.
Merge pull request #15443 from tgxworld/preload_head_routes

Map HEAD requests to GET routes instead of duplicating GET routes.
Fix some issues in 4.2 release notes.

Remove duplicate line in Railties.

[ci skip]
Merge pull request #16608 from GRoguelon/fix_issues_in_4_2_release_notes

Fix some issues in 4.2 release notes. [ci skip]
Merge pull request #16607 from tgxworld/upgrading_guide_pass

Upgrade guide pass. [CI SKIP]
[ci skip] Clarify Action Mailer/Active Job usage note
Merge pull request #16612 from loganhasson/master

[ci skip] Clarify Action Mailer/Active Job usage note