Add a new parameter convention `@in_cxx` for non-trivial C++ classes
that are passed indirectly and destructed by the caller
Fix a bug where `@in`, which indicates the callee is responsible for
destroying the passed object, was being used to pass such classes.
rdar://122707697