Added Mozilla-compliant AST specification

Generic ECMAScript+JSX parsers and some other tools use extended Mozilla AST format as intermediate representation.

This PR describes those extensions for new spec consumers that want to work with AST.
Yeah, that's kind of conflict.

Just wondering - were there any particular reasons for introducing SpreadProperty in Esprima-FB instead of reusing SpreadElement?

If trying to extrapolate current behavior - looks like SpreadElement is something that will be used for representing `...AssignmentExpression` syntax anywhere (as it is now in call expressions, array literals and array patterns) and it's not usual for Mozilla AST to create duplicate interfaces for same syntax features when difference between them can be determined from context (parent node). So I think we will just reuse SpreadElement for ES7 properties as well (talking from my experience of implementing ES6 in Acorn and inventing some new node types in Reflect.parse).