Use global is_collector

Minimizes difference from original GC, and it's not the only bit of
global GC state anyway.
Avoid decl-after-stmt warning
Set PID in child

Avoids race condition where parent gets SIGCHLD before setting PID.
Rearrange sweep to be closer to original

Extra nesting made it less clear what was unchanged.
Add TODOs about missing GC functionality