Merge pull request #15210 from arthurnn/fix_hbtm_reflection

Fix habtm reflection
Conflicts:
    activerecord/CHANGELOG.md
    activerecord/lib/active_record/counter_cache.rb
    activerecord/lib/active_record/reflection.rb
    activerecord/test/cases/reflection_test.rb
Use .to_s on _reflections lookup
Skip if the association was already loaded.
Rename Posts to Articles in Guides' Getting Started App, continuation of #15215 [ci skip]
correct doc for (audio|video)_tag [ci skip]
Skip individual tests upon Dalli::RingError

Unlike the outer `rescue`, this one is much more precise about what we
want to handle: a connection failure (`Dalli::RingError`) is not
relevant to what we're testing here. But other Dalli errors may well be
indicating an actual problem.
Merge pull request #15342 from aditya-kapoor/correct-tag-docs

correct docs for audio_tag and video_tag [ci skip]
Merge pull request #15345 from matthewd/skip-dalli-errors

Skip individual tests upon Dalli::RingError
correct docs for (asset|image)_path [ci skip]
Merge pull request #15346 from aditya-kapoor/correct-doc-for-path

correct documentation for asset_path and image_path [ci skip]
Merge pull request #15323 from JohnKellyFerguson/getting-started-app

Docs: Rename Posts to Articles in Guides' Getting Started App
Refactor the handling of arrays in where predicates

Simplifies the code slightly, isolates non-nil non-range values into a
single array, which will make it easier to do things like apply type
casting to them in the future.
Merge pull request #15350 from sgrif/sg-refactor-predicate-builder

Refactor the handling of arrays in where predicates
Refactoring .reflections public method.

Now the internal reflections will hold a reference to its public
representation, so when the outside world calls `Account.reflection` we
can build a list of public reflections.
Merge pull request #15300 from arthurnn/refactor_reflections

Refactor reflections
[ci skip] Add benchmark your code section to contributing to ruby on rails guide.

I have seen many times that maintainers want people to use this gem to give
a benchmark report. It would be nice to add it and refer to it later.
Merge pull request #15347 from JuanitoFatas/benchmark-in-contributing-to-ror

[ci skip] Add benchmark your code section to contributing to ruby on rails guide.
Extract types which don't require additional typecasting to a method

Database specific adapters shouldn't need to override `type_cast` to
define types which are already in an acceptable state.
Merge pull request #15351 from sgrif/sg-allowed-types

Extract types which don't require additional typecasting to a method
Allow empty arrays in where predicates