"join" is a separate responsibility

a thread worker can quit itself, but a thread can't join itself.  If you
want to join the thread, plug in your own thread creator and remember
the threads you want to join.

bonus points: because of AlreadyQuit, you *can't* call join at the wrong
time (in 'do', after you've quit), either.

git-svn-id: svn://svn.twistedmatrix.com/svn/Twisted/branches/desynchronize-2673-2@43339 bbbe8e31-12d6-0310-92fd-ac37d47ddeeb