Introduce a TypeAnnotation node to match the grammar.
Update LKG.
Remove resolver from pullSymbols
Remove caching of resolver on type reference symbols
Prevent self-recursive instantiation from leading to invalid substitution of type arguments
Take first step towards addressing over-instantiation of generic signatures
Prevent type argument condensation from producing infinitely expanding types
Add comments
Clean up variable names
Fix logic around member checking between bases
jake baseline-accept can be soft or hard
Only perform incremental parsing on changes to open files.

This is important as hosts commonly have different representations for open
and closed files.  Our syntax trees end up pointing back into the host to
be able to retrieve data (like token text).  We don't want our trees to hold
host data alive unnecessarily.  So, for example, when a file changes from
open to closed, we don't want to keep the open file data around (in VS this
can end up holding a lot of objects around).  Similarly, when a file changes
from closed to open, we don't want to keep around the buffer representing the
closed file on disk now that the host has transitioned to the buffer with the
open contents.
Update LKG.
Merge branch 'develop' into syntax-v2
Signatures are already added to the comparison cache as soon as we perform a relationship check, so in the contextual instantiation case we need to be careful not to check if the signatures in question are both root signatures.
(If they are, then checking the comparison cache for thier prescence will result in a false-positive.)
More fixes to signature relationship checking
Verify absolute element positions when comparing syntax nodes.
Remove unnecessary subclassing.
Remove unnecessary subclassing.
Merge branch 'develop' into syntax-v2

Conflicts:
	src/compiler/syntax/syntaxNodes.generated.ts