Spread operator in call and new expressions

`foo(...arr)` will call `foo`, "spreading" the elements of `arr`
into individual arguments.