Use a bitvector to mark if a node has been typechecked instead of storing data on the node itself.
Deleting dead code.
No need to store a declaration stack.  We have all the nodes available.
remove dead code.
Delete dead code.
     Don't generate individual ModuleDeclaration ast nodes for a module with a qualified name.

     Syntactically "module A.B.C {}" should be represented differently than "module A { module B { module C {}}}"
Test updates for resolved bugs
Couple of tests around recursive generics.
Don't synthesize a ModuleDeclaration AST node to represent hte top level external module.  Just use the Script AST node instead.
Merge branch 'develop' into syntax-v2
Fix build break.
Don't synthesize a ModuleDeclaration AST node to represent hte top level external module.  Just use the Script AST node instead.
Don't store data in AST nodes that we can get from the syntax tree.
Don't store data that is computed from trivia on AST nodes.
Delete unintentional code.
Remove unnecessary code.
Remove unnecessary fields.
Update LKG.
Check index signature identity between bases
Check members against index signatures between bases