Explain that default_scope also influences update_all

This was not explicitly stated before and I needed to try it out to be
certain. A little explicit statement in the API docs might help here.
Creates an ApplicationMailer and layout by default, including html and body tags to reduce spam score
Fix cases where the wrong name is passed to `Formatter#generate`

These are currently working "by accident" because `match_route` does not check
that the name is valid.
Deprecate passing an invalid name to `Formatter#generate`

The internal tests that (incorrectly) relied on this were already fixed in
938d130. However, we cannot simply fix this bug because the guides prior to
b7b9e92 recommended a workaround that relies on this buggy behavior.

Reference #17453
Deprecate `use_route` in controller tests

Reference #17453
Don't show the warning if we're already raising the error anyway

If the route set is empty, or if none of the routes matches with a score > 0,
there is no point showing the deprecation message because we are already be
raising the `ActionController::UrlGenerationError` mentioned in the warning.

In this case it is the expected behavior and the user wouldn't have to take any
actions.
Removing unnecessary File.join calls
Reword documentation for update_all

It now contains a carefully formulated reference to the "current relation" which might help clarify that the receiving will generate its own scope, escaping the need for explicitly referencing `default_scope` which is, after all, just another way of specifying a scope and nothing special.
Merge pull request #17725 from chancancode/deprecate_use_route

Deprecate use route
Ensure the type map's cache is thread safe

Thanks to @thedarkone for pointing out that an instance of this object
is used in a shared context.
Add `.reflections` change to release note [skip ci]

[related #17718]
Mark comments that should not be in the docs

Some comments that are meant to separate blocks of code in a file show up
on http://api.rubyonrails.org as though they were part of the documentation.

This commit hides those comments from the documentation.

Stems from the discussion with @zzak at https://github.com/voloko/sdoc/issues/79#issuecomment-64158738

[ci skip]
Merge pull request #17748 from claudiob/remove-unwanted-comments-from-documentation

Mark comments that should not be in the docs [ci skip]
Show source view and backtrace on missing template errors

This will help you debug missing template errors, especially if they
come from a programmatic template selection. Thanks to @dhh for
suggesting that.

As a bonus, also show request and response info on the routing error
page for consistency.
Merge pull request #17747 from gsamokovarov/missing-template-backtrace

Show source view and backtrace on missing template errors
Document `String#html_safe` [ci skip]

It should be part of the documented public API, since we have an entire
section of the guides dedicated to it. Documented in a way that
addresses the concerns which kept it undocumented in the past.
Fix sprockets-rails dependency dance

- Remove sprockets-rails from generated Gemfile as rails has a hard-dependency on it

- Also allow sprockets-rails >= 2.0.0
Merge pull request #17752 from arthurnn/fix_sprockets-rails-dependency

Use sprockets-rails 2.2.x on base app and allow greater version
Merge pull request #17682 from ReneB/docs/update_all

Explain that default_scope also influences update_all
allow the "USING" statement to be specified on change column calls