Better docs for AV::RecordIdentifier

This commit intends to clarify the scope of ActionView::RecordIdentifier
methods `dom_id` and `dom_class`.

Most of the current documentation comes from da257eb8 (7 years ago) when
the decoupling of ActionView, ActiveRecord and ActiveModel was not a concern.

Since then, steps have been taken to reach such decoupling, especially
8ca17926 which duplicated ActionController::ModelNaming into
ActionView::ModelNaming explaining that:

> These are just a simple helpers for decoupling Active Model, so it does not
> make sense to extract it to Active Support, but the point is to decouple also
> Action View and Action Pack

As of today, ActionView::RecordIdentifier only includes `dom_id` and `dom_class`
so it makes sense to explicitly document those two methods, and leaving the
details of helpers like `div_for` in the corresponding files.

Moreover, I think it's important to mention in the documentation that
ActionView::RecordIdentifier **does not strictly depend on the ActiveRecord API**: any class `Post` implementing `post.to_key` and `post.model_name.param_key` will work.

[ci skip]
Flatten the call stacks ActiveSupport::Callbacks produces, fix #18011.
Expectation comes first
Merge pull request #18231 from untidy-hair/improve_a_test

Expectation comes first
adjust args of Bundler.require in guides [ci skip]

Arguments of Bundler.require of generator has been changed from rails4.0.4.

https://github.com/rails/rails/blob/v4.0.4/railties/lib/rails/generators/rails/app/templates/config/application.rb#L16
Merge pull request #18232 from yousuketto/doc-for-bundler-require

adjust args of Bundler.require in guides [ci skip]
When trying to access a character on a string buffer object via `:[]`, if the object being accessed currently returns `html_safe?` as true,
we used to set  `@html_safe` variable as true on new object created. When doing something like

x = 'Hello'.html_safe
x[/a/, 1]

would throw an error on ruby 2.2, since when nothign gets matched nil is returned by the code and it tries to set   `@html_safe` value to true,
which would error since starting 2.2 nil is frozen.

This change adds a safety net to avoid setting `@html_safe = true` on frozen objects.

Fixes #18235
Merge pull request #18236 from vipulnsward/dont-eval-frozen

Fix html_safe string access modifying frozen values
Just check if the buffer exists before changing it
`eager_load` preserves readonly flag for associations
plugin's gemfile also needs tzinfo-data in Windows
Add nodoc to touch at no_touching.rb

It is already docummented at persistence.rb.

[ci skip]
Merge pull request #18097 from k0kubun/readonly-eager_load

`eager_load` preserves readonly flag for associations
Rely on the injectable type caster for `arel_table`

This API will require much less consuming code to change to accomodate
the removal of automatic type casting from Arel. As long as the
predicates are constructed using the `arel_table` off of an AR subclass,
there will be no changes that need to happen.
Extract an explicit type caster class
Fix failing tests
Pass a type caster when aliasing tables for joins
Remove all cases of manuallly wrapping `Arel::Nodes::Quoted`

This is no longer required now that we are injecting a type caster
object into the Arel table, with the exception of uniqueness
validations. Since it calls `ConnectionAdapter#type_cast`, the value has
already been cast for the database. We don't want Arel to attempt to
cast it further, so we need to continue wrapping it in a quoted node.
This can potentially go away when this validator is refactored to make
better use of `where` or the predicate builder.
Require Arel 7.0.0.alpha
Ensure `first!` and friends work on loaded associations

Fixes #18237