Rework TSModuleDeclaration.
Rework TSModuleDeclaration.

This complexity feels very unnecessary. I'm disappointed that the
TypeScript AST doesn't preserve enough information to get this right with
fewer heuristics.

benjamn/recast,benjamn/recast,benjamn/recast