Use noreturn instead of __attribute__((noreturn))

This seems to be more reliable. In case of pre-C11 and pre-C1x
compilers, it means noreturn support is gone, since falling back to
__attribute__((noreturn)) does not work, as this has to be specified at
a different place for ObjC methods. But since this is only something
that's nice to have, it's ok to drop it for pre-C11 and pre-C1x
compilers.