Emit at most one .concat call per argument/element list.

Since `Array.prototype.concat` can take multiple arguments, we don't need to build a chain of single-argument `.concat` calls.

For cases where the only arguments/element is a spread element, like `f(...args)`, `[...elems]`, or `new F(...args)`, we actually don't even need to call `.concat` at all (though the chaining approach was handling that case appropriately before).