Name anonymous records, don't depend on fully qualified name for type-id.

- Use 'anonymous at <source>:<line>:<column>' as a name for anonymous records
  within a translation unit

- Don't depend on clang's getFullyQualifiedName() for computing type-ids since
  it isn't reliable (can miss out qualification of template parameters).
  Factor in the final destination type, i.e either built-in type name or
  tag type mangledCXXRTTI name. This is an internal name and not exposed
  through intermediate .sdump files, so should not affect backwards
  compatibility.

Bug: 77649155

Test: tests/test.py

Change-Id: I8890cc59fbe24fb6083e191d69be7fff45b51861
9 files changed