[cxx-interop] Diagnose conditional casts from an existential to a foreign reference type
This is a follow-up to 84ae5fbe.
The Swift runtime doesn't have enough metadata to determine if a conditional cast from an existential to a C++ foreign reference type is successful. Clients should force-cast using `as!` instead. This change adds a diagnostic for such casts.
rdar://141227849