[sgen] Fix evacuation.

We can't dereference an object's VTable before we know that it's not
tagged.  In this case, forwarded.  The access would be unaligned and
might even fault.
[sgen] Use the `SGEN_UPDATE_REFERENCE` macro in optimized copy.
[sgen] Add an assertion.