Add MultiPredicateMatcher.

Allows matching entity attribute contexts through a combination of
predicates applied to the context components. This allows simple
matching against, for example, regular expressions.