Update to new libcork array API

Most important for us is that we can add a `free` callback, which will
be used to automatically free each element when the array is finalized.