glib-private.h: add _glib_alignof
GHashTable: statically assert that GHashTableIter works as intended

https://bugzilla.gnome.org/show_bug.cgi?id=688406
glib-init: make static assertions about platform assumptions

GLib has a pervasive assumption that function and data pointers are
basically interchangeable, which is true in all modern ABIs,
but not actually guaranteed by ISO C. If someone tries to use GLib on a
platform where function and data pointers are different sizes, fail early.

https://bugzilla.gnome.org/show_bug.cgi?id=688406