This adds __attribute__((swift_async_context)) very much following the existing swift_context so that Swift's runtime implementation in C++ can generate functions that interact with Swift code properly. Hopefully nothing too controversial.
It depends on D95044 for the IR support.
Should we specify whether pointer to members or ObjC object pointers are fine (given that those are both somewhat "odd" pointer types)? Function pointers?
(We may want to clarify this in the other docs in a follow-up if we think this is unclear.)