Draft: glib-unix: Ensure failure in recursive g_unix_open_pipe is propagated
g_unix_open_pipe sometimes recursively calls itself (to avoid getting fds assigned in the standard io fd range).
Unfortunately, it fails to propagate its result to the outer most caller.
This commit fixes that.