Add XJS support

Adds support for "XJS" tags, XML in JS. For example,

  var span = <span>Text</span>;
  var div = <div>{span}</div>;

Originally implemented by voloko in https://github.com/voloko/esprima/tree/XJS.
fix XJS literal child bug
Merge rebased commits from upstream/harmony
Merge commits from harmony branch
Don't pass parseParam to wrapTracking.

The parseParam function is just a helper that returns a boolean value, rather
than a true parsing function that returns an AST node. When wrapped by
wrapTracking, which assumes that the result of parseFunction is an AST node,
parseParam becomes unusable in browsers that restrict property accesses on
boolean values.
Merge pull request #1 from benjamn/fix-parseParam

Don't pass parseParam to wrapTracking
Update lineStart = index when lineNumber is incremented in scanXJSText.

This bug causes SourceLocation .column values to become much larger
than they should be as more and more lines are parsed.
Merge pull request #2 from benjamn/update-lineStart-in-scanXJSText

Update lineStart when lineNumber is incremented in scanXJSText
Fix parse error when static class method comes after proto method

This fails to parse:
`class A { foo() {} static bar() {}}`

I'm not sure exactly why the strict branching check was put in place, but we
don't need to do much more than check if the first token is 'static' when
parsing a method definition -- so this works and fixes the issue.

All tests pass, etc

https://code.google.com/p/esprima/issues/detail?id=430
Merge branch 'harmony' into fb-harmony
Add support for empty XJS expressions
Separate fb syntax tests into their own test file
Merge remote-tracking branch 'upstream/harmony' into harmony
Merge remote-tracking branch 'upstream/harmony' into harmony
Merge remote-tracking branch 'upstream/harmony' into fb-harmony

Conflicts:
	test/harmonytest.js
Use standard parse error for invalid token when expecting an XJSIdentifier
Add grammar for function signature type annotations
Adopt semver-compliant versioning that preserves both local and upstream versions

This fork of esprima, for the foreseeable future, only adds features to its
upstream counterpart. As such, we would like it to be possible to track both
changes to the upstream version it is tracking as well as local changes (in a
semver compliant way).

We've decided that the way we will do this is to simply make all semver version
parts equal to (fb-harmony version) * 1000 * (upstream version). If upstream
esprima ever gets to version 999, I'll admit defeat...but hopefully that's an
unlikely possibility.
Update package.json description and contributors info so that the esprima team doesn't get spam for issues with our fork, etc
Include LineTerminatorSequence in TemplateElement cooked values

The 2013-09-27 draft of the ES6 draft, section 11.8.6, now says "The TV of TemplateCharacter :: LineTerminatorSequence is the TRV of LineTerminatorSequence."

https://code.google.com/p/esprima/issues/detail?id=456