gspawn: Use fdwalk provided by system only when it is known to be safe
gspawn: Use fdwalk provided by system only when it is known to be safe

All uses of fdwalk in gspawn are between fork and exec, which means only
async-signal safe functions can be called if the parent process has
multiple threads. Since fdwalk is not a standard API, we should not
assume it is safe to use unless the manual of the system explicitly says
it is async-signal safe.

Fixes: #1638

endlessm/glib,endlessm/glib,endlessm/glib,endlessm/glib,endlessm/glib