process_worklist() only needs to enforce the GC invariant if the object moved.

The comment notes "In moving an object to generation 2"... but the code had
been doing the work for *all* objects in generation 2, not just those moved
there. We know whether we have just moved an object from the nursery to gen2,
so track that, and only walk the recently marked items for a newly moved
object.