Introduce PlannerQuery

Instead of using QueryGraph to represent a whole
query, this commit now introduces a PlannerQuery,
which has this role. The PlannerQuery contains a
QueryGraph and a QueryProjection, and the WITH
structure of a query.