[cxx-interop] Do not always treat types with user-declared copy constructor as safe
`std::set` defined `insert` method with a return type `std::pair<iterator, bool>`.
This type is unsafe to use in Swift. However, it is currently treated as safe, and `insert` is not renamed to `__insertUnsafe`, because `std::pair` defines a copy constructor.
Let's not treat a user-declared copy constructor as a guarantee of safety.
rdar://109529750