Make Array::extend preallocate additional space so that a series of small extends is linear instead of quadratic time