Copying arrays

The new `cork_array_copy` function can be used to copy content from one
resizable array to another.  All callbacks are called appropriately.
You can provide a function to perform the actual copy; it will be called
once for each element.  (This lets you do a deep copy of the elements if
that's appropriate.)  If you don't provide a function, then we'll
bulk-copy the content using `memcpy`.