Remove pullTypeChecker.ts and pullDeclDiffer.ts, since neither are utilized any longer
Actually remove pullTypeChecker.ts this time
Adding regression tests and updating tests for fixed bugs.
Adding regression tests
Removing closed bugs from tests to unblock them.
Fix the declare files and type names for recursive types
Properly bind a generic type when it is aliased through a module alias.

Note: my preference would actually be to allow a type alias to be generic itself.
However, this turned out to be problematic as sharing the generic type's type
parameters was unfeasiable.  For now, this seems like the easier and safer fix,
and is more in line with how the rest of the resolver works.
Update compiler according to name collision spec
- Class extends clause need to be evaluated as value and verified that it matches constructor
- internal module aliasing value symbol should refer to instance symbol
Update LKG.
If a new type check operation is invoked, make sure the compiler's resolver object's semanticInfoChain is updated
Get the --watch flag working in tsc again.

No perf change.
Update LKG.
Spec conformance test updates
Fix baseline for last checkin
Report error if generic type is used without type arguments in a type parameter constraint position.

No perf impact.
Extract lots of duplicated code into a helper method.
Update LKG.