m4macros/glib-gettext.m4: Don't use AC_HEADER_STDC

AC_HEADER_STDC is obsolete (pre-C89 headers are no longer an issue),
and the resulting STDC_HEADERS define is anyway not used.

https://bugzilla.gnome.org/show_bug.cgi?id=700263
Moved the G_MAIN_POLL_DEBUG stuff to gmain-internal.h

Now that code is about to drift from gmain.c into the poll backend,
the debug infrastructure should better be shared in the header.
I'm too lazy to deduplicate it in gpoll.c, though.
Factored the poll backend out of GMainContext

Defined GMainContextFuncs, the backend vtable for
pluggable main loop implementations.
The new constructor g_main_context_new_custom() can be used
to create contexts with custom backends (and is used internally
for built-in backends).

This first backend, made largely from the existing code, is special
in another way: the methods of GMainContext that were designed around
GPollFunc will be only supported by the poll backend.
The context will switch to the poll backend to complete
any of these functions.
Added the epoll backend for GMainContext

The new backend necessitates other changes:
Now that adding and removing descriptors to the poll may
produce failures, some of which are benign, it's important to
handle the failures when blocking and unblocking sources for recursion,
so that we don't end up in a more serious error when e.g. unblocking
a source that has had its descriptor closed and then
"temporarily" removed from the poll for dispatch.
Erased the run/quit functions from GMainContextFuncs

These are a dead API: any existing or planned backend supports
single-step iteration. They introduce functionality regressions.
They needed to go, but I prefer to leave them in the history
for reference.
Make use of the epoll backend, with a runtime fallback to poll

Falling back to poll is done in two cases:
1. At construction, if epoll_create fails.
2. When the client calls g_main_context_set_poll_func().