Currently, `str.data(using:allowLossyConversion)` always bridges via
`NSString`.
As `String` is now natively UTF8 we can fastpath this conversion in the
case where the user requests UTF8 encoding.
A benchmark for this was previously added in #22648.
Many Foundation initializers could benefit from faster string
construction and subsequent reads in Swift 5. Add UTF-8 fast paths for
when constructing a string from a valid UTF-8 code units.
The SDK directory is now confusing as the Windows target also has a SDK
overlay. In order to make this more uniform, move the SDK directory to
Darwin which covers the fact that this covers the XNU family of OSes.
The Windows directory contains the SDK overlay for the Windows target.