compile gmi with C99

This silences issues with the
named initializers for ops structs
hack around vla struct warnings

Although the vla struct is a wonderful
feature that requires almost no effort to
support, we are bent to the will of
the great Dr. W. Pedantic and must
make the code uglier for his sake.
more vla struct hacking

see previous commit
another strafe at warnings

I've managed to appease
the overlords -Wall, -Wextra,
-pedantic, and -fsanitize=address.
The remaining changes are lumped
together since they are not so memorable,
except to say that we now use "%lu"
instead of "%zu".
On most machines, these types should match.
Merge branch 'master' of https://github.com/SCOREC/core