Fix clean rule in prm tests
Docs and cleanup
Fix recycling logic in GC
Better variable names
Less noise
Fix test bug

We did not join an epoch before allocating. This is a big no-no. This
test would fail occasionally, this is likely why.