ISPN-4670 No longer keep track of suspended PredicateNodes in MatcherEvalContext

It's enough to keep just the unsubscribed Predicates. Eventual duplicate notifications are easily coped with.
ISPN-4670 Move isRepeated flag from PredicateNode to Predicate

This is the first step to simplify and optimize subscriptions
ISPN-4670 Move PredicateIndex.PredicateSubscriptions to Predicates.Subscription
ISPN-4670 Remove unused return type of BENode.handleChildValue
ISPN-4670 Only repeated predicates really need to be unsusbscribed
ISPN-4670 Refactor Predicate/Predicates to not use IntervalTrees for the single-filter scenario

* Usage of IntervalTrees is beneficial only when we have many predicates, like in the continuous query use case but it slows things down in the single-filter scenario.