Use a non-worker thread for the job reaper

Summary: Reaping timed-out jobs used to use a worker thread, which causes the
treadmill to back up.  This makes the reaper a dedicated thread, so it doesn't
hold up the treadmill.

Reviewed By: @jdelong

Differential Revision: D1660353