Reporting: occasionally reap child threads

I noticed that, at least on Python 2.4, memory for threads doesn't
get freed until the threads are joined.  This patch causes the
collector to periodically go through and reap those threads.

Tested in production for ~1 month, no reported issues.