gh-156444: Fix a negated character set with IGNORECASE and LOCALE (GH-156445)

charset_loc_ignore() tested the whole set once per locale case and took
the disjunction, which complements a set before closing it under case
instead of after: [bc] matched b'B', but so did [^bc].  Match both cases
of the character against every set member instead.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
3 files changed