DI: Use Metadata for DITypeRef and DIScopeRef

Now that `MDString` and `MDNode` have a common base class, use it.  Note
that it's not useful to assume subclasses of `Metadata` must be one or
the other since we'll be adding more subclasses soon enough.

Part of PR21532.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222064 91177308-0d34-0410-b5e6-96231b3b80d8
DIBuilder: Cleanup access control style, NFC

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222066 91177308-0d34-0410-b5e6-96231b3b80d8