Moved explanation of `--mountable` option up

The example code uses `--mountable`. In previous version this was followed by an explanation of the `--full` option, which doesn't make sense. Later on in the text this is better explained. I moved this explanation up without repeating too much.
[ci skip] correct output for asset_helper methods
    see cc255d3
Add rails:update to the upgrading guides

[ci skip]
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.
Make the isolated tests run on JRuby

As there is no forking on JRuby, we need to spawn sub-processes to make
the tests run in isolation.

Previously, we were defining globally env variables and running the test
file through backticks and delete these variables once the test ran.

Now, we simply rely on IO.popen as this is cross-platform and the env
variables are available during the child-process execution only so there
are no race conditions.

[Ben Browning & Robin Dupret]
Move `attributes_before_type_cast` to `AttributeSet`
Change double quotes to single quotes in guide
Improve consistency
`only_integer` of `NumericalityValidator` now allows procs and symbols
Encapsulate knowledge of type objects on `ActiveRecord::Result`

Attempting to reduce the number of places that care about the details of
how type casting occurs. We remove the type casting of the primary key
in `JoinDependecy`, rather than encapsulating it. It was originally
added for consistency with
https://github.com/rails/rails/commit/40898c8c19fa04442fc5f8fb5daf3a8bdb9a1e03#diff-06059df8d3dee3101718fb2c01151ad0R211,
but that conditional was later removed in
https://github.com/rails/rails/commit/d7ddaa530fd1b94e22d745cbaf2e8a5a34ee9734.

What is important is that the same row twice will have the same value
for the primary key, which it will.
Remove unneeded `@column_types` instance variable

This was used more previously, but other uses have been removed.
Delegate #model_name method to self.class
Merge pull request #15867 from sgrif/sg-rm-column-types

Remove unneeded `@column_types` instance variable
Merge pull request #15852 from SyntaxBlitz/master

Change double quotes to single quotes in guide
Add a deprecation cycle for `NullColumn` from `column_for_attribute`

This is public API, and `simple_form` depends on the `nil` return value.
We need to go through a deprecation cycle to return a null object. If
people want hash access, they can access the hash.
Small typo
Merge pull request #15880 from davetoxa/patch-1

s/overriden/overridden [ci skip]
Merge pull request #15878 from sgrif/sg-null-column

Revert #15502, and add a deprecation warning instead.
Merge pull request #15732 from kuldeepaggarwal/correct-assets-ouput

[ci skip] correct output for asset_helper methods
Merge pull request #14113 from murb/patch-1

Moved explanation of `--mountable` option up