QueryGraph refactoring
Extracted projection from QueryGraph into it's own class
Merge pull request #2390 from systay/querygraph-refactoring

QueryGraph refactoring