Improved support for parameter destructuring w/ rest. Fixes gh-1818

@caitp can you take a look at this?
isn't this one also wrong? the strict flag just means it will return false if the moz flag is set even if esnext _is_ set, which isn't necessarily what you want.

I don't think it matters a whole lot, but I would expect this to be "evaluate this block if we are using `esnext` mode, regardless of whether or not we're accepting moz extensions".

you should make the call on how much that matters, otherwise LGTM