Add PropertyMatcher and Assertion::property()
improve coverage of countable and exception matchers