PlanTable uses QueryGraph instead of set of available symbols as keys
Split PlanTable into GreedyPlanTable for greedy planning and ExhaustivePlanTable for exhaustive planning

- using the new ExhaustivePlanTable in the exhaustive planning
Merge pull request #3704 from davidegrohmann/dp-exhaust

Refactor PlanTable