Update LKG.
Don't pass along unnecessary flag.
Make binder methods private.
Introduce the concept of a root decl.

A root decl can store all the information shared by it and
any of its child declaratoins (for example, the filename it
was generated from).  This allows us to save space on all
our decls (at the cost of logarythmic access to that information
from any decl).  In practice this has no slowdown for us.

The end goal is to allow us to store more information at the
decl level without having to bloat all decls.
Emit fixes for ambient enums
Unable to get property "actualParametersContextTypeSymbols" of callResolutionData exception
Remove global semantic info chains and binders.

Now, the compiler itself owns the single semantic
info chain for the system.  The chain itself has
a mapping from file name to binders.

I've also added a link from root decls to the semantic
chain.  With this link it's now possible for a decl to
bind itself to a symbol as it can get the appropriate
binder from the chain that it points to.
Add doc comment.