Rat provenance

I had to move ConfigRange into a separate class because WhiskerTree::DNA() needed to access it, and there was a cyclic dependency between evaluator.hh and whiskertree.hh as a result.