New W_IGNORE_RESULT() macro

This macro can be used to make the compiler ignore warnings about unused
function results. It is mostly useful to ignore I/O errors for certain
operations like writing to stderr/stdout and the like.
New W_IO_CHECK_RETURN() macro

Checks whether an I/O operation failed, and returns a custom value from the
current function if a failure was detected.