Implements @ignore_extra_keys@ pattern for JSON strings in JsonMatcher

Adds test negative matches

Does some refactoring