Some more tidying up of the fallout from the Position changes.  Heuristic is now a generic class based on a SearchProblem.