[ci skip] add API doc for AR Group.
Merge pull request #15756 from aditya-kapoor/add-api-doc-for-querying

[ci skip] add API doc for AR Group.
[ci skip] /javascript/ ~> JavaScript
Merge pull request #15758 from aditya-kapoor/replace-keyword

[ci skip] /javascript/ ~> JavaScript
Refactor application of type decorators into an object
Merge pull request #15759 from sgrif/sg-extract-type-decorator

Refactor application of type decorators into an object
Promote time zone aware attributes to a first class type decorator

This refactoring revealed the need for another form of decoration, which
takes a proc to select which it applies to (There's a *lot* of cases
where this form can be used). To avoid duplication, we can re-implement
the old decoration in terms of the proc-based decoration.

The reason we're `instance_exec`ing the matcher is for cases such as
time zone aware attributes, where a decorator is defined in a parent
class, and a method called in the matcher is overridden by a child
class. The matcher will close over the parent, and evaluate in its
context, which is not the behavior we want.
Merge pull request #15760 from sgrif/sg-decorate-matching

Promote time zone aware attributes to a first class type decorator
Formatting fix in AS changelog [ci skip]
[ci skip] doc corrected : ActiveRecord::Base.connections to ActiveRecord::Base.configurations
Merge pull request #15765 from rahul100885/master

[ci skip] doc corrected : ActiveRecord::Base.connections to ActiveRecord::Base.configurations
fix typo in test method names. [ci skip]
add `bin/rake db:purge` task to empty the current database.
Move test teardown into `ensure` block.
Merge pull request #15768 from zuhao/refactor_activesupport_concern_test

Move test teardown into `ensure` block.
Don't mess with `column_defaults` when optimistic locking is enabled
Merge pull request #15771 from sgrif/sg-stop-messing-with-column-defaults

Don't mess with `column_defaults` when optimistic locking is enabled
Use `column_defaults` in dirty for checking changed defaults

We no longer need to "init changed attributes" from the initializer,
either, as there is no longer a case where a given value would differ
from the default, but would not already be marked as changed.
Merge pull request #15775 from sgrif/sg-use-column-defaults-in-dirty

Use `column_defaults` in dirty for checking changed defaults
Don't assume that Hstore columns have always changed

HStore columns come back from the database separated by a comma and a
space, not just a comma. We need to mirror that behavior since we
compare the two values.

Also adds a regression test against JSON to ensure we don't have the
same bug there.