Let header-abi-dumper declare unknown types automatically

When the compiler finds an unknown type, it queries ExternalSemaSource
for the declaration. If the type is not declared anywhere, the compiler
ignores the type name and sets the type to int.

To keep the type name in AST, this commit adds FakeDeclSource that
creates declarations for the unknown types.

Test: header-abi-dumper test.h -o test.txt -suppress-errors -dump-function-declarations -- -x c++
Bug: 117582158
Change-Id: I2d49b7a4f9e2a991224e6702938bc63744bba039
6 files changed