[sgen] Add GC max collection time counter
[sgen] Remove BLOCK_INFO_IN_HEADER option - always use it now.

We're removing options that we've introduced for experimentation but that
didn't pan out.
[sgen] Remove USE_PREFETCH_QUEUE option - don't use it.

We're removing options that we've introduced for experimentation but that
didn't pan out.
[sgen] Remove GRAY_QUEUE_HAVE_DESCRIPTORS option - always use it now.

We're removing options that we've introduced for experimentation but that
didn't pan out.
[sgen] Remove MARK_ON_ENQUEUE option - always use it now.

We're removing options that we've introduced for experimentation but that
didn't pan out.
[sgen] Remove DESCRIPTOR_FAST_PATH option - don't use it.

We're removing options that we've introduced for experimentation but that
didn't pan out.
[sgen] Fix cementing tag bit on 32 bits.

We used the third-lowest vtable bit to tag cemented objects.  On 32 bits,
vtables are only 4-byte aligned so we have to make do with 2 bits.
DELETE: print finish times
[sgen] Replace `have_swept` pointer with callback.

We want to use a state variable instead of `have_swept`, so we need a callback
to abstract.
[sgen] Remove superfluous function indirection.
[sgen] Split sweeping into three parts: start, block loop, finish.
[sgen] Rename `have_computed_minor_collection_allowance` to `free_swept_blocks`.

Because that's what it actually does.
[sgen] Move debug code to `sgen-debug.c`.
[sgen] Fix names and remove superfluous parameters.
WIP: Concurrent sweep.