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.