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]
Remove ActionController::ModelNaming

The methods in these modules are not used anywhere. They used to be
invoked in polymorphic_routes.rb but their usage was removed in e821045.

What is your opinion about removing these methods?

They do belong to the public API, but in reality their code has already been duplicated to ActionView::ModelNaming, since they are used by methods like `dom_id` and `dom_class` to associated records with DOM elements (in
ActionView).

Please tell me if you think that removing this module is a good idea and,
in that case, if the PR is okay as it is, or you'd rather start by showing
a deprecation message, and remove the module in Rails 5.1.
- Changed `target` to `target_reflection` to avoid warning `possible reference to past scope`
targeting 2.2
Remove unnecessary double space
Merge pull request #18194 from claudiob/remove-action-controller-model-naming

Remove ActionController::ModelNaming
Merge pull request #18204 from chocoby/remove-double-space

Remove unnecessary double space
Merge pull request #18203 from kyledecot/ruby-2.2

Targeting 2.2
Merge pull request #18197 from vipulnsward/fix-ar-2-2warning

Fixed AR warning on ruby 2.2
- Changed `paths` to `routing_paths` to avoid warning `possible reference to past scope`
Merge pull request #18205 from vipulnsward/fix-railties-warning

Fixed warning `possible reference to past scope` from railties
Dump the default `nil` for PostgreSQL UUID primary key.
Require Ruby 2.2 for Rails 5.0

Stems from [this comment](https://github.com/rails/rails/pull/18203#issuecomment-68138096) by @robin850
and by the blog post http://weblog.rubyonrails.org/2014/12/19/Rails-4-2-final
Merge pull request #18206 from kamipo/dump_default_nil_for_postgresql_uuid_primary_key

Dump the default `nil` for PostgreSQL UUID primary key.
Update guides regarding the extension changes

With rails/coffee-rails#61 (and #17241), the `.coffee` extension is
favoured over `.js.coffee`. Respectively, with rails/sass-rails#271
`.scss` and `.sass` are favoured over `.css.scss` and `.css.sass`.

Let's update the documentation to reflect that.

[ci skip]
Correctly ignore `case_sensitive` for UUID uniqueness validation

I think we should deprecate this behavior and just error if you tell us
to do a case insensitive comparison for types which are not case
sensitive. Partially reverts 35592307

Fixes #18195
Propagate frozen state during transaction changes
Merge branch 'brainopia-remember_frozen_state_in_transaction'
Remove unused `@relation` instance variable

We don't memoize the relation instance
Inject the `PredicateBuilder` into the `Relation` instance

Construction of relations can be a hotspot, we don't want to create one
of these in the constructor. This also allows us to do more expensive
things in the predicate builder's constructor, since it's created once
per AR::Base subclass