improve handling of nonstandard fields in struct tm

defining tm_gmtoff and tm_zone as macros was breaking some application
code that used these names for its own purposes.
make gcc-specific headers (intrinsics, etc.) available with wrapper

they are intentionally listed after the libc include directory so that
the gcc float.h, etc. don't get used in place of the libc ones.
fix mixup in previous change to gcc wrapper