OAK-1892 - OrderedIndexConcurrentClusterIT takes too long

gained an average 130% improvement of speed towards the 1.0 branch
version.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610634 13f79535-47bb-0310-9956-ffa450edef68
OAK-1969: Duplicate observation events when using JackrabbitEventFilter
Deduplicate list of paths passed in JackrabbitEventFilter

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610658 13f79535-47bb-0310-9956-ffa450edef68
OAK-1966 - Add Hint for selecting more performant index in MongoDocumentStore#query

_modified index would be used if the delta between now and time being queried for is less than 120 secs (configurable via oak.mongo.maxDeltaForModTimeIdxSecs)

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610664 13f79535-47bb-0310-9956-ffa450edef68
OAK-1965: Support for constraints like: foo = 'X' OR bar = 'Y'

Extend OrImpl and AndImpl to support more than two component constraints,
and use that mechanism for improved simplification.

Replace the getInMap() feature with more specific code in OrImpl, as that's
the only place where the functionality is needed.

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610723 13f79535-47bb-0310-9956-ffa450edef68
OAK-1965: Support for constraints like: foo = 'X' OR bar = 'Y'

The IN operator is handled as a separate constraint type

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610727 13f79535-47bb-0310-9956-ffa450edef68
OAK-1965: Support for constraints like: foo = 'X' OR bar = 'Y'

Use method dispatch instead of a switch statement for evaluating operators

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610728 13f79535-47bb-0310-9956-ffa450edef68
OAK-1965: Support for constraints like: foo = 'X' OR bar = 'Y'

Make the per-selector constraints available to index implementations

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/oak/trunk@1610835 13f79535-47bb-0310-9956-ffa450edef68
Merge branch 'upstream-trunk' into OAK-1892
OAK-1892 - OrderedIndexConcurrentClusterIT takes too long

avoided a possible expensive java reflection call