Accurate node creation.

Issue 530: Reducing memorizing start position by create nodes at the
right location as much as possible.
DRY and generally reduce code in scanPunctuator function.

Performance impact is negligible.
Minimized the number of skipComment calls
WIP