This change modifies the logic for adding CxxReturnUdt so that the option is
added to all member functions that return a record type, whether or not the
record type is marked as nontrivial. This matches MSVC's behavior.
This is to fix an issue where function types sometimes appeared twice in the
PDB: once with "returns cxx udt" and once without
(https://bugs.llvm.org/show_bug.cgi?id=44785).
There can also be cases where non-member functions that reference forward
declared record types result in duplicated types, but this is apparently not very
common.
Should we assert here that the composite type is not a forward decl, assuming we stick with the CxxReturn flag?