Just change ENV and restore it afterwards.

Stubbing ENV[] is not safe outside MRI. At some point after the
stubbing has occurred a backtrace is printed to the ActiveSupport
warning log: there Rubinius accesses ENV['RBX_NOCOLOR'] to determine
if it should print the backtrace with colors or not, causing the
stub to fail. Other implementations might access ENV in a different
way too, we just can't predict it.
The only thing we can do here is to actually set the ENV with what
we want and restore it afterwards.
Assert presence of "frozen" in error message, not the full MRI message.

Related to all the other issues regarding message independent assertions
to make Rails compatible with other Ruby implementations other than MRI.

The best way here would be to have a specific error raised when modifying
frozen objects, like FrozenObjectError or something. But since Ruby
doesn't provide such a thing, we must limit the assertion to the lowest
common denominator, which is word "frozen".
Allow methods arity below -1 in assert_responds.

Every method from MRI's core classes is written in C. This means
Method#arity always returns -1 for methods with a variable number of
arguments. This is not the case with Rubinius, where, for example
Array#slice! is implemented in Ruby and has arity -2, since is
defined as def slice!(start, length = undefined)
Fixes #11773 when using includes combined with select, the select statement was overwritten.
Fix wrong variable name used in the select_day method documentation

The variable name created in the example is `my_date`, the methods  were using `my_time` instead.
Keep code consistent with previous code blocks.

[ci skip]
Some fixes in docs [ci skip]

Update a link to point to right section in api docs

Fix a typo
Fix a writing mistake

A small mistake found in the line of ```The default error is "can't be empty"``` for ```:presence``` helper. ```empty``` word changed to ```blank```.
Merge pull request #12512 from sbagdat/patch-1

Fix a writing mistake
Merge pull request #12507 from malavbhavsar/doc_patch

Some fixes in docs [ci skip]
Merge pull request #11791 from versioncontrol/includes_with_persistent_select

Includes with persistent select, fixes #11773
Drop unused iterator var
Change `map` to `map!` to save extra array creation on new array
Merge pull request #12516 from vipulnsward/drop_var

Drop unused iterator var
Merge pull request #12517 from vipulnsward/destructive_map_am

Change `map` to `map!` to save extra array creation on new array
Merge pull request #12493 from drodriguez/patch-1

Keep code consistent with previous code blocks.
Merge pull request #12491 from shamanime/patch-1

Fix wrong variable name used in the select_day method documentation
Make logging to stdout work again with implicit `development` env
Merge pull request #12514 from schuetzm/stdout-logging-with-implicit-development-env

Make logging to stdout work again with implicit `development` env
Make missed association exception message more informative

Add target class name, which should have missed association on preload,
into exception message to simplify detecting problem part.