Adding evil_retarget_object_handle() to change an existing object handle's
reference to a new object. Also altered a bit how allocating pairs works.
Instead of having its own path in gc_alloc, it calls gc_alloc_vector and
changes the tag value on the return type.