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.
`SpreadElement` is general interface for destructuring multiple elements to pattern (`...expression` syntax), whether it's inside `ArrayPattern`, `CallExpression` or, as you wish, `ObjectPattern`.