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
Rename Posts to Articles in Guides' Getting Started App, continuation of #15215 [ci skip]
print generators on failed generate

Let's say we just ran:

```
$ rails g migrate add_click_to_issue_assignment
```

We will get an error that looks like:

```
Could not find generator migrate.
```

This patch adds all existing migrations to the output to make it easier for a developer to find a valid migration.

```
Could not find generator "migrate". Please select a valid generator:
Rails:
  assets
  controller
  generator
  helper
  integration_test
  mailer
  migration
  model
  resource
  scaffold
  scaffold_controller
  task
```


It would be nice to do some spelling detection and suggest alternatives, but for now this should  help.
Correct Documentation for asset_tag_helpers
update the recommended ruby version
Merge pull request #15340 from aditya-kapoor/correct-docs

Correct Documentation for asset_tag_helpers
Merge pull request #15294 from schneems/schneems/generator-output-in-error2

print generators on failed generate
Merge pull request #15333 from ShunsukeAida/update_ruby_version

update the recommended ruby version.
correct doc for (audio|video)_tag [ci skip]
Escape user input before showing in the page.

This is not a security issue since this page is not present in
production and user have to type something in the field but is better to
escape the input.
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.