Stop Foldable#exists once it has been found

Also avoid calling partial function isDefinedAt and apply, by using
a single lifted version [these are optimised in the common
case](https://github.com/scala/scala/blob/master/src/library/scala/PartialFunction.scala#L103).
Merge pull request #2218 from cleishm/shortcut-exists

Stop Foldable#exists once it has been found
A change to trigger a pr build
Revert "A change to trigger a pr build"

This reverts commit 5f0787cc5116923b029ec8a7436d1067ea5251fc.
Add heuristic for tracking fraction of live vs dead (deleted/corrupt) nodes
Add serial version UUID to HeuristicsData
Introduce GraphHeuristics in Cypher

o Renaming NodeLivenessTracker to EntityLivenessData
o Provider KernelAPI to CypherCompiler and TransactionBoundPlanContext
o Use numNodes and numLabels heuristics in GuessingEstimator