Added String::matches_wildcard_pattern(String), ported from V3 and rewritten so that it doesn't create any new objects.