[loose parser] Be more careful about calling resetTo

It will try to eat whitespace, and can thus raise an unterminated comment exception

Issue #375
Fix start position for HTML comments and add tests.
Do not throw syntax error if strict mode function has same name as one of its parameters.
Make token format compatible with Esprima and Mozilla-styled locations.

* Tokens are now instances of single exported constructor Token.
* Token objects are compatible with Esprima (only `type` format is different).
* Added token.loc in format of node.loc (Mozilla).
* Deprecated token.startLoc & token.endLoc.
* Updated comment generation example.

Also added ability to pass arrays in `onToken`/`onComment` where
tokens/comments will be collected in Esprima's format so you can
simply pass those arrays to `escodegen.attachComments`.

Updated docs and comment attachment example.
Merge branch 'master' into jsx.
Update version.