Optimize `Array::add_all`

Calls to `Array::add_all` were a noticable bottleneck in gammit, so I optimized it. The opimization is even more efficient when adding Arrays to Arrays, compared to adding Sequences to Arrays. It is general enough that it could be useful in the standard library (but I could also keep it in gammit if you prefer).

Speeds up the benchmark program by about 60%, with even better effects when adding larger arrays.

We could probably optimize this further at the NativeArray level but it looked more error prone.