Make label scan store available in consistency checker.

o Make neo4j-consistency-check depend on neo4j-lucene-index
o Add LuceneLabelScanStoreBuilder as a second, straightforward way to instantiate LuceneLabelScanStore that bypasses kernel extensions
 (which are difficult to instantiate freestanding without starting a full database)
Introduce "arguments" into the Expression base class in Cypher

Expression already has "children". The difference between the two
is that children are any expressions hanging off of an expression,
while arguments are arguments into an expression.
Cleanup of aggregation handling.
Merge pull request #1374 from boggle/2.0-label-scan-store-verification

Make label scan store available in consistency checker.
Unused import.
Merge pull request #1366 from systay/aggregation-update

Allows aggregate expressions to be part of more complicated expressions
Break out dispatch from report in consistency check.

`ConsistencyReport.forReference(...)` was tricky to implement and didn't quite fit in with the other
methods in the ConsistencyReport interface. This change breaks that method out into a CheckerEngine
interface. CheckerEngine also holds/creates the ConsistencyReport instance, to avoid creating report
objects (dynamic proxies through reflection) unnecessarily.

This allows us to remove the generic parameters of ConsistencyReport, which makes it possible to report
on things that are not records.