0afdd61031
- Destructure named params that clash with JS reserved names:
`f({arguments = 1}) {}` becomes `function f({['arguments']: arguments$ = 1} = {}) {}`
- Use ES6 default params for positional & optional parameters
- Added simple tests
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1677863002 .