Getting very close to done now.  This stuff still needs some clean-up, but it's basically the right shape...

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