Add the Unicode for String Processing proposal (#1631)
Add the Unicode for String Processing proposal (#1631)

* Add the Unicode for String Processing proposal

* Add a TOC

* Apply suggestions from review

Co-authored-by: Remy Demarest <d7c226d8c97f1848eaf723e079a295be9ff6bb83@gmail.com>

* Update with corrections / proposed API

* Add information about default options

* Option setting clarifications.

* Clean up ASCII mode language

Remove "ASCII mode" language, since we don't really have a single
ASCII mode, and centralize discussion in the `asciiOnlyClasses(_:)`
option section.

* Add alternative about default options

* Add more context about semantic modes

* More detailed/correct explanation of CCCs

In particular, range behavior has a correct description here.

* Update to `defaultRepetitionBehavior`, other revisions

* Update `CharacterClass` docs

* Minor edits

* Reorganize options summary table

* Correct / improve matching semantics discussion

* Move regex syntax-specific options lower

* Improve/clarify .any/.anyGraphemeCluster

Remove description of \O

* Improve alternatives

* Add table showing Unicode property behavior

This table, and the accompanying prose, describe the way each
Unicode scalar property is extended to characters.

* Add additional alternatives and future work

* Update errant Unicode property strategies

* Add version history

* Revisions based on feedback

* Add a note about Swift regex differences

* Finish sentence about future APIs

* Assign number and kick off review


apple/swift-evolution,apple/swift-evolution