Introduce the IsJson matcher
Introduce the LogicalAnd matcher
Clean up LogicalNotTest
Introduce LogicalOr Matcher

And extract the re-usable parts of LogicalAnd into an abstract base
class for logical combinations.
Introduce the LogicalXor Matcher