ISPN-4654 AND over range queries does not work (indexless query)

* Some subscription gets mistakenly suspended because the Predicate's equal and hashCode do not take the attribute into account

* also fix equals() and hashCode() of RegexCondition
ISPN-3807 Cache the result of HQL query parser to be reused
ISPN-4670 Matcher performance test
ISPN-4670 Matcher refactoring
ISPN-4670 Replace Iterator of AttributeNode.children with array for faster iteration
ISPN-4670 Do not unsubscribe if executing in a single filter context
ISPN-4670 Avoid hashmap in MatcherEvalContext
ISPN-4670 Avoid double lookup in known types hashmap
ISPN-4670 Replace map of unordered predicates with list
ISPN-4670 No longer keep track of suspended PredicateNodes in MatcherEvalContext
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 retur type of BENode.handleChildValue
ISPN-4670 Only repeated predicates really need to be unsusbscribed after are satisfied
ISPN-4670 Refactor Predicate/Predicates to not use IntervalTrees for the single-filter usage 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