This patch adds the implementation of an UDT completion from PDB symbol files. For now it supports different UDT kinds (union, struct and class), static and non-static members, different member and base access, bit fields, virtual and non-virtual inheritance.
There is a problem with the non-virtual inheritance from packed types, but it refers to Clang's MicrosoftRecordLayoutBuilder. I am preparing a separate patch for that.