Rework IsEqual tests for readability and consistency
Implement containsString
Reimplement ‚containsString‘ in terms of new SubstringMatcher
Implement ‚startsWith‘ and ‚endsWith‘
Merge branch 'string_matchers'