Change macro W_IGNORE_RESULT to W_IO_NORESULT

GCC 4.9 does not mute warnings about unused return values by just prepending
"(void)" to statements, so the solution is to actually assign the return value
to a variable which is marked with "__attribute__((unused))". This works fine
with GCC and also keeps Clang happy.