This contains changes to the AST Matcher infrastructure in order to provide
contextual information about each matcher. This information can be useful for
tasks such as performing introspection on matchers.
One example which demonstrates the value of such changes can be seen in
https://reviews.llvm.org/D113943, which allows for the introspection of
matchers to improve the process of debugging matchers.
Please note in the comments that this function template is specialized below to cover most (all) of the AST. So, the default string here should only very rarely (never?) be used.