reuse available collection? check instead of macro

Reflection has an available method that is used to check if the
reflection is a collection. Any :has_many macro is considered a
collection and `collection?` should be used instead of
`macro == :has_many`.
Merge pull request #15597 from eileencodes/reuse-available-collection-methods

reuse available collection? check instead of macro
Use HasAndBelongsToMany instead of HABTM
Merge pull request #15599 from arthurnn/HABTMAssociation

Use HasAndBelongsToMany instead of HABTM
[ci skip] Add note about type modifiers that cannot be specified in command line.
Merge pull request #15602 from JuanitoFatas/doc/type-modifier

[ci skip] Add note about type modifiers that cannot be specified in command line.
ActiveRecord::FinderMethods.find passes proc parameter #15382
Merge pull request #15584 from jamesyang124/issue_15382

ActiveRecord::FinderMethods.find doesn't pass proc parameter to array

Manual merge of #15584.

Closes #15584.
remove depricated Validatior#setup
[ci skip] Rename: Rails Database Migration to Active Record Migration.

This will need to setup permanent redirect for the old guide.
Merge pull request #15604 from JuanitoFatas/doc/migration

[ci skip] Rename: Rails Database Migration to Active Record Migration.
docs, refactor docs about column modifiers. [ci skip] [Matthew Draper & Yves Senn]

This is a follow up to #15602 which rendered the guides in a weird state:

  >  You can also specify some options just after the field type between curly
     braces. You can use the following modifiers:

  >  `null`         Allows or disallows `NULL` values in the column.

  >  NOTE: `null` and `default` cannot be specified via command line.

The modifiers are now moved into a separate section. The generator
simply referes to that section.

Related to #15583.

/cc @JuanitoFatas
test, fix typo, `create_index` does not exist.
Fix cache_digest rake tasks

Bring cache_digests:* rake tasks up-to-date with the API changes introduced in
637bb726cac60aaa1f7e482836458aa73e17fbb7
Inline PG array type casting helper
Merge pull request #15607 from sgrif/sg-array-type-cast

Inline PG array type casting helper
Merge pull request #15605 from mekishizufu/fix_cache_digests_rake_tasks

Fix cache_digest rake tasks
Keep the types of virtual columns after yaml serialization

On MySQL and PostgreSQL, the adapter does not type cast virtual columns
for us.
Merge pull request #15603 from kuldeepaggarwal/remove-deprecation-method

remove depricated Validatior#setup
Merge pull request #15609 from sgrif/sg-yaml-virtual-columns

Keep the types of virtual columns after yaml serialization