Add warning for `rescue_from Exception` and `rescue_from StandardError`

[ci skip]
Replace x.sort_by!.select! with x.select!.sort_by!

The latter has the same speed as the former in the worst case
and faster in general, because it is always better to sort less items.

Unfortunately, `routes.select!{...}.sort_by!{...}` is not possible here
because `select!` returns `nil`, so select! and sort! must be done
in two steps.
Doc pass for `Type::Value` [ci skip]
Merge pull request #15828 from yuki24/add-warning-about-rescue-from-exception

Add warning section for `rescue_from Exception` in Guides
Improves readability...

[ci skip]
Merge pull request #15887 from RudyOnRails/patch-1

Improves readability of this line...
Deal with regex match groups in excerpt

Original implementation has bugs if the regex contains a match group.

Example:

    excerpt('This is a beautiful? morning', /\b(beau\w*)\b/i, :radius => 5)
    Expected: "...is a beautiful? mor..."
    Actual: "...is a beautifulbeaut..."

The original phrase was being converted to a regex and returning the text
either side of the phrase as expected:

    'This is a beautiful? morning'.split(/beautiful/i, 2)
    # => ["This is a ", "? morning"]

When we have a match with groups the match is returned in the array.

Quoting the ruby docs: "If pattern is a Regexp, str is divided where the
pattern matches. [...] If pattern contains groups, the respective matches will
be returned in the array as well."

    'This is a beautiful? morning'.split(/\b(beau\w*)\b/iu, 2)
    # => ["This is a ", "beautiful", "? morning"]

If we assume we want to split on the first match – this fix makes that
assumption – we can pass the already assigned `phrase` variable as the place
to split (because we already know that a match exists from line 168).

Originally spotted by Louise Crow (@crowbot) at
https://github.com/mysociety/alaveteli/pull/1557
Merge pull request #15899 from garethrees/gr-texthelper

Deal with regex match groups in excerpt
Add a '--skip-routes' flag for the Controller generator.

This way it is possible to skip the addition of the 'get "foo/bar"' routes when
generating a controller.
Merge pull request #15885 from lucasmazza/lm-skip-routes

Add a '--skip-routes' flag for the Controller generator.
Fix a bug where NameError#name returns a qualified name in string

Ruby's original behaviour is that :

  * It only returns a const name, not a qualified aname
  * It returns a symbol, not a string
Merge pull request #15836 from DNNX/router-swap-select-sort

Replace x.sort_by!.select! with x.select!.sort_by!
Merge pull request #15902 from yuki24/fix-name-error-bug

Fix a bug where NameError#name returns a qualified name in string
`preload` preserves readonly flag on associations. #15853

This is a partial fix for #15853. It only works when a `preload`
is issued and not an `eager_load`. I've added a skipped failing
test-case to keep in mind that we need to deal with `eager_load`.
synchronize Active Record deprecations / removals with 4.2 release notes

[ci skip]

/cc @chancancode @zzak
sync deprecations and removals with 4.2 release notes. [ci skip]

Noticed that there was no section about Action View and added the heading.
Notable changes need to be compiled.

/cc @chancancode @zzak
docs, fix BacktraceCleaner code example. Closes #15911. [ci skip]
fk: `add_foreign_key` and `remove_foreign_key` for PostgreSQL adapter.
fk: add `foreign_keys` for PostgreSQL adapter.
fk: `foreign_keys`, `add_foreign_key` and `remove_foreign_key` for MySQL