ExpressionTransformer: various fixes for spreading tuples to arguments

We now base the number of things passed from both the tuple minimum length and the
variadicity of the receiver. We also use spanFrom rather than a chain of getRest in the
hope that we should get petter perf for chains > 1. We also take advantage of the fact
that variadic methods are overloaded to not require the variadic param if none is there,
removind an extra getRest() call for depleted tuples.
New test for tuple spreading into arguments