Length mismatch was returning wrong page, resulting in crash
'serve' instead of 'server'
cleanup
fix a failed clue
change call to nosetests to make sure we get the default python
Move clue tree solving functions into ClueTree
Cleanup
Remove duplicate usage of "Phrasing" and replace one usage with new "Constraints" class
More reorganization.

The primary change is to explicitly define the RULES entries for each
element in the CFG in cfg.py, rather than scattering that definition
across a few files. This should make it easier to, for example, add new
nonterminals.
clean up a few imports and docstrings