Use Twisted's deferToThread and Deferreds to handle parallel tasks

This removes CheckerThread