move `COMPARE_RECORD` into UGDIM namespace
This silences a compiler warning from GCC when building programs with
LTO where GCC sees two definitions of COMPARE_RECORD
(for 2d and for
3d):
../gm/refine.cc:3450:8: warning: type ‘struct compare_record’ violates the C++ One Definition Rule [-Wodr]
../gm/refine.cc:3450:8: note: a different type is defined in another translation unit
../gm/refine.cc:3453:12: note: the first difference of corresponding definitions is field ‘elem’
../gm/refine.cc:3453:12: note: a field of same name but different type is defined in another translation unit
../ug/gm.h:1644:24: note: type ‘union ELEMENT’ should match type ‘union ELEMENT’