add defensive code to prevent invalid positions from thowing an error
Improve performance of parser by using a switch to handle statements instead of chained if/elses.

While the previous system was clearer and more consistent with the rest of the
parser, we get a few percent improvement in speed with the switch since this is
such a hot spot in the compiler.  THe new code is still nearly as clear, so the
change seems worth it.
Simplify code.
Inlining and simplifying typecheck methods.
Inline and simplify a lot of typechecking code.
Inlining and simplifying more typecheck code.
Store filenames in a few more AST nodes to improve perf by a few percent.
Inline some parser methods for perf.
Compute modifierCount up front instead of in each parse method.
Defer creation of line starts until necessary.
Code review feedback.
Cache resolved symbol info in completion list when we can
Assert in diagnostics for missing localized text
Fix typeCheck for accessors, functionProperty assignment and constructor declaration
Begin refactoring overload resolution logic for correctness
Update baselines for type argument inference tweaks
Only attempt to infer type arguments if *none* were passed
Properly check for the correct number of type arguments to generic functions
Begin fixing assignment compatibility of signatures
More tweaks to relationship checks between generic signatures