Use IndexOf for .* in RegexInterpreter/Compiler (#31930)
* Clean up RegexInterpreter
Almost entirely style. A few substantive but small changes:
- Store the TextInfo rather than storing the CultureInfo and accessing the TextInfo virtual property on each call.
- Removed unnecessary resx string that should have been an assert
- Coalesced duplicate case blocks
* Use IndexOf for Notoneloop{atomic} in RegexInterpreter/Compiler
This is primarily to improve the performance of .* loops. We'll now use Span.IndexOf to search for the target character (e.g. \n), rather than the open-coded loop we currently have.
* Address PR feedback