We were accidently pointing to a node through two paths in the AST.

This breaks incremental scenarios because the minChar/limChar for the node
gets updated twice.
Update sourcemaps in a couple of places.
Address crash in the syntax tree to AST translator.

With the recent change to have the translator update spans for non-node children,
we introduced a crash when we tried to update the span for non-existent child.

I've simply made the update function resilient to this case.
Emit sourcemap records again
Do not look up child decls as member symbols if we are any construct other than a module.
Updating language specification.
Moving code related to file paths out of the parser.

We had some code that checked if a relative path was used in an import statement
in a module declaration.  This check is fine.  It just shouldn't exist at the syntax
layer (syntax does not care about things like file paths). I've moved this to
the type check portion of the code, and i've also updated the error ID.
Add in a check so we only check import statements for non synthesized module declarations.
Move additional path related code out of the syntax implementation.
Address code review feedback.
Clean up amd and commonjs codegen
Fix the parsing for constructor type

ConstructorType:
new   TypeParametersopt   (   ParameterListopt   )   =>   Type
Fix the declaration emit for the optional method of the interface