Support future regular expression flags

https://code.google.com/p/esprima/issues/detail?id=557
ES6 Module Syntax Sign-Off

* revision of ES6 import final grammar
* revision of ES6 export final grammar
* introduces `Syntax.ImportNamespaceSpecifier` for `import * as foo from "foo"`
* introduces `Syntax.ImportDefaultSpecifier` for `import foo from "foo";`
* introduces `ModuleSpecifier`
* left-hand side of comma in ImportDeclaration must be identifier
* right-hand side of comma in ImportDeclaration can be NameSpaceImport or NamedImports
* removes `kind=default` and `kind=named` from `ImportDeclaration` in favor of
  `Syntax.ImportDefaultSpecifier` form
* Removes `module {}` syntax
* moves all module tests into harmonymodulestest.js

https://code.google.com/p/esprima/issues/detail?id=597
Add few more tests to achieve module syntax full code coverage.

https://code.google.com/p/esprima/issues/detail?id=597
Ensure that harmony module tests are also included in the web tests.

https://code.google.com/p/esprima/issues/detail?id=597
Remove some more cruft for legacy browsers.

https://code.google.com/p/esprima/issues/detail?id=474
Code coverage: ignore known uncovered branches and statements.

https://code.google.com/p/esprima/issues/detail?id=518
Support ES6 MethodDefinition computed keys

https://code.google.com/p/esprima/issues/detail?id=563
Related to #271
Don't insert computed property key into existing properties map

https://code.google.com/p/esprima/issues/detail?id=584
Introduce StringMap to clean up duplicate check code

Introducing StringMap to clean up duplicate check code.
And it fixes some bugs on harmony MethodDefinition's duplication check (__proto__ and key.name lookups).

https://code.google.com/p/esprima/issues/detail?id=585
Follow up the latest ES6 Patterns

https://code.google.com/p/esprima/issues/detail?id=586
computed properties start with a punctuator

https://code.google.com/p/esprima/issues/detail?id=589
Add options.sourceType for disambiguating module parsing mode from script parsing mode

https://code.google.com/p/esprima/issues/detail?id=598
Remove the upper limit of hex digits in Unicode code point escapes

E.g. `'\u{00000000000000000001D306}' == '\u{1D306}'`.

https://code.google.com/p/esprima/issues/detail?id=612
Fix parsing of `import {} from "A";` and `export {};`

https://code.google.com/p/esprima/issues/detail?id=615
Make tools/generate-test-fixture.js take a --module option for `sourceType="module"` mode

https://code.google.com/p/esprima/issues/detail?id=614
Remove extraneous console.log() from tools/generate-test-fixtures.js