move a few declarations closer to first use
make caching of delta_test results work again

note that I'm not sure if and when this wins, I implemented it mainly
because Berkeley delta did, but have never benchmarked it

I assume that it may win when delta tests are very expensive, as for
large C++ programs
add back in one early tmp dir removal that I believe is safe
ok, I think this solves the directory deletion races, it took me a
while to figure out what is going on

now, child processes are put into their own groups and we kill the
entire group instead of just killing the child