[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