Schema indexing changes

* Removed SchemaIndexProvider mutable state
* Cancelling an index population job just initiates cancel and awaiting
* its completion happens outside of the "flip lock". Resolves a deadlock issue.
* Minor IndexPopulator interface changes
* Nice Future/Latch utilities
* HA test for what happens to index population jobs when switching role
* Adds contract checking to IndexContext
Removed a stacktrace printing
Work in progress
First working test
Add string literals in return
Add NODE(*) matching
Add result col renaming and number results
format
Allow inference of Rule0
Add index lookups and queries
Split parser into multiple traits
Reformat
Add expression calculator
Add WHERE clause and property equality predicate
Add decimal literals
Add NOT and <>
Add <, >, <= and >=
Add literal regex
Allow grouping of predicates in brackets
Add nullable properties