simpler, more robust injection-time threading

this makes fewer threads than the old code, which didn't gather
all threads correctly. I hope this gathers all threads. we'll see.
stop fetching messages if a connection dies.

previously, a client could initiate a big, big fetch and then go away,
and aox would do all of the work. not any more.