Tidy up StringDAG, Thesaurus and CrypticSolver. Add a test for Thesaurus.