pulling apart multiprocessing queue internals to fix the leftover FDs issue

I made the old closes-fds test run 30 times, by default, which seemed to consistently produce the flakiness we were seeing earlier. I then dug into multiprocessing.queue internals, and found the pipes it was using which weren't closed. I then manually closed them. See https://github.com/gatoatigrado/vimap/issues/14 for details.