Implement handling of over-size gen2 objects.

The handling at collect time was missing, meaning that once marked in
their first full run, they stayed marked forever. This meant gc_mark
was never called, and anything they referenced was collected.