Accurate node creation.

Reducing memorizing start position by create nodes at the
right location as much as possible.

https://code.google.com/p/esprima/issues/detail?id=530
DRY and generally reduce code in scanPunctuator function.

Performance impact is negligible.

https://code.google.com/p/esprima/issues/detail?id=370
Automatically rewritten for npm.