[th/strerror_r] various cleanups for strerror()/strerror_r()
strerror()
is not thread-safe (and shouldn't be used).
strerror_r()
should be used, but is cumbersome as there are different variants.
We have our different wrappers (for different purposes). Use them, as appropriate.