Define _GNU_SOURCE in build

Four commits:

1. Make a strerror_r wrapper in k5-platform.h which can handle the GNU variant of strerror_r.
2. Take advantage of the wrapper to simplify code which uses strerror_r.
3. Make sure autoconf.h is included before system headers.
4. Define _GNU_SOURCE early on in the configure process.

I elected not to use AC_USE_SYSTEM_EXTENSIONS mainly because it requires autoconf 2.59c, and our Solaris nightly build machine only has 2.59.  I didn't use AC_GNU_SOURCE because it has variant behavior; in current autoconf it's an alias for AC_USE_SYSTEM_EXTENSIONS, but in older versions it only defines _GNU_SOURCE on glibc platforms.