Bug #35753: detect failure of the atexit library function.

* find/find.c (main): Issue a fatal error message if atexit fails.
* xargs/xargs.c (main): Likewise.
* find/ftsfind.c (main): Likewise.
* locate/code.c (main): Likewise.
* locate/frcode.c (main): Likewise.
* locate/locate.c (dolocate): Likewise.
* locate/bigram.c (main): Likewise; also include <errno.h>.
Fix format specifier in safe_read error message.

* xargs/xargs.c (xargs_do_exec): print size_t values with %zu, not
%d (since size_t is not and never can be the same type as int).
Fix some signed/unsigned problems.

* find/util.c (show_valid_debug_options): change type of array
subscript to size_t to avoid signed/unsigned problems.
(set_stat_placeholders): Silence unuseful compiler warning about
unused parameter.
* find/ftsfind.c (show_outstanding_execdirs): change type of array
subscript to size_t to avoid signed/unsizned problems.
Bug #35753: check the success/failure of material I/O operations.

* lib/listfile.c (list_file): Check the result of fprintf to
determine if there was an I/O error on output.  Return false (bool
instead of void) if so.
(print_name_without_quoting): Likewise.
(print_name_with_quoting): Likewise.
(print_name): Propagate the result of print_name_without_quoting
or print_name_with_quoting (and make all three functions return bool).
* find/pred.c (is_ok): Check the result of fprintf to
determine if there was an I/O error on output.  Exit fatally if
there was a problem (since we cannot expect the user to say "yes"
or "no" to a prompt they will not have seen).
* xargs/xargs.c (print_args): Check the result of fprintf and
fflush to determine if there was an I/O error on output.  Exit
fatally for the same reason as above if there is a problem.
* NEWS: Mention this bugfix (now that it is fully fixed).