Fix javadoc link
Simplify CandidateList by removing pruning
Move covering concept from LogicalPlan to QueryGraph
Renamed Projections to QueryProjection
Introduced the concept of NoProjection
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.
Break up PlanningStrategy

Now two parts solve CypherQueries together -
QueryGraphSolver solves the actual MATCH part
of a query, and QueryPlanningStrategy handles
projection and WITH.
Add AggregationProjection

This allows a PlannerQuery to represent a query
with aggregation
Made cartesianProduct use greedy planning
Merge pull request #2396 from systay/ronja-refactoring

Ronja refactoring
Refactor out sort, skip and limit
Add aggregation to planning
Merge pull request #2399 from systay/ronja-aggregation

Ronja aggregation
Lossless numeric indexing

Previously numeric values where coerved into double before put in index.
This was problematic for some big long values, which could have many
long values convert to the same double value, allowing for invalid
query results (false positives).

This commit solves this by identifying long values that doesn't convert to
a long without changing value, and puts those into a "long" field in the
lucene document, encoded as a long as opposed to the normal "numeric"
double encoding.

This change requires a rebuild of indexes with one or more of such long values.

Also providers migration of lossy->lossless numeric Lucene indexes, where
only the affected indexes, and only affected documents actually, are updated
to the new long<-->double lossless representation.