Object Rest/Spread Properties

This proposal was well received when presented to TC-39 and will continue to get work for ES7. Let's start experimenting with it.

https://gist.github.com/sebmarkbage/aa849c7973cb4452c547

@jeffmo @benjamn
If you ignore whitespace in the merge tooling you can see that it's just an indentation. https://github.com/facebook/esprima/pull/22/files?w=0 I don't think I can get away with a less invasive diff without duplicating code. :/