Faster upgrade.

 o Changes strategy from scanning node store to scanning rel store, leading to much less random access.
   Upgrade now requires a single sequential scan through rel store, plus random access into node store,
   one access for each node.
 o Modifies the scanning strategy to use 4K-aligned scan buffer instead of 33b buffer, improves scan speed
   one order of magnitude.
 o Remaining: Memory usage is still very high, need to investigate performance when RAM runs out.
Add support for IN predicates for index by id seek
Use more function composition in the planning
Introduce FunctionName

Only use ast.Identifier for identifiers - let FunctionInvocation use
FunctionName
Add pattern relationships to QueryGraph
Package clean up

* Moved all logical plans into their own package
* Moved the steps package into the logical package
Add expand logical plan
Add expansion planning
Change how NewPlannerTestSupport works

Now uses a failure that makes it easier to see where the problem originates from
Add ExpandPipe and plugged it in

* Still not able to handle self referencing patterns
Add toTreeString to LogicalPlan to aid debugging
Add uniqueness predicates for MATCH patterns
Add code for expand that expands into already existing patterns