(PUP-4438) Fix problem with repeated param after weaving
Before this, if weaving was used and there was a repeated parameter
it would only receive the first value in the set of variable values.
This was caused by recording the index of the parameter, and then
picking only this argument when weaving.
This fix records repeating parameters as a negative value where -1
means value 0..-1, and thus -n means values (-n-1)..-1. The weaving then
weaves a new array where multiple values are copied over.