Assume standard strerror_r unless using glibc.

We followed the feature test macros from the Linux man page for
strerror_r to figure out which function we have actually got, but that
only applies when using the GNU C library.  When using any other C
library, we should assume that strerror_r is the POSIX-standard
strerror_r.

Commit 533f5f874f66802040ad5f05bfca2483a6c90297 worked around
this bug for Mac OS X only.

runtime/mercury_runtime_util.c:
	Explicitly include string.h for strerror_r, just in case.

	If __GNU_LIBRARY__ is not defined then assume we have the
	POSIX-standard strerror_r.  Only follow the feature test
	macros otherwise.

	Assign the return values of strerror_r to variables of the
	expected types.  The compiler should warn about conversions
	between integer and pointer types if the detection was wrong.

	Fix argument order in a call to generic_strerror.