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.