app: Document when floating variants are consumed

Bug #700203.
tests/spawn-*.c: fix on Windows

Need to append ".exe" to the spawned binary name on Windows

https://bugzilla.gnome.org/show_bug.cgi?id=679683
g_test_trap_fork: don't blow away the SIGCHLD handler

Not sure why it was doing this, but it's not necessary (all of glib's
tests pass fine without it), and it breaks tests that try to use
g_spawn_sync() or GChildWatchSource after doing a g_test_trap_fork().

https://bugzilla.gnome.org/show_bug.cgi?id=679683
gtestutils: add g_test_trap_subprocess()

g_test_trap_fork() doesn't work on Windows and is potentially flaky on
unix anyway given the fork-but-don't-exec. Replace it with
g_test_trap_subprocess(), which re-spawns the same program with
arguments telling it to run a specific (otherwise-ignored) test case.

Make the existing g_test_trap_fork() unit tests be unix-only (they
never passed on Windows anyway), and add a parallel set of
g_test_trap_subprocess() tests.

Also fix the logic of gtestutils's "-p" argument (which is used by the
subprocess tests); previously if you had tests "/foo/bar" and
"/foo/bar/baz", and ran the test program with "-p /foo/bar/baz", it
would run "/foo/bar" too. Fix that and add tests.

https://bugzilla.gnome.org/show_bug.cgi?id=679683
tests/protocol: redo a bit

Rather than overloading --verbose, just skip the tests that aren't
supposed to be run in the parent process (so that if you do run the
toplevel test with --verbose, it doesn't immediately error out).

https://bugzilla.gnome.org/show_bug.cgi?id=679683
tests: port from g_test_trap_subprocess() to g_test_trap_fork()

https://bugzilla.gnome.org/show_bug.cgi?id=679683
gtestutils: deprecate g_test_trap_fork()

https://bugzilla.gnome.org/show_bug.cgi?id=679683
gtestutils: use g_clear_pointer
tests/slice: use G_GNUC_BEGIN_IGNORE_DEPRECATIONS

rather than implementing it by hand
updated kn translations
Remove a preprocessed-out code section

If it has not been needed since 2000, there probably is no use for it.
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
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 dynamic fallback

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