Port DragonEgg to use DIBuilder for debug info metadata construction.

There's one weird case of buggy typedefs left in here to be fixed by (someone)
sooner or later, and the DIFactory type could probably go away entirely but
this does the mechanical work without regressing anything that I know of.

Thanks to Duncan Sands and Eric Christopher for review/verification/assistance.

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