Because a global created by GetOrCreateLLVMGlobal() is not finalised until later viz:
extern char a[]; char f(){ return a[5];} char a[10];
multiple & wrong Metadata was being outputted.
Change MangledDeclNames to use a MapVector rather than a DenseMap so that the Metadata
is output in order of original declaration. This is to improve human readability.
Can this use a range loop. If so, please commit that as a first independent improvement.