Create two helpers for running the typo-correction tree transform.
One takes an Expr* and the other is a simple wrapper that takes an
ExprResult instead, and handles checking whether the ExprResult is
invalid.
Additionally, allow an optional callback that is run on the full result
of the tree transform, for filtering potential corrections based on the
characteristics of the resulting expression once all of the typos have
been replaced.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221735
91177308-0d34-0410-b5e6-
96231b3b80d8