Code reorganization to pave way for more flexible compilation modes.

 * scansys.py: Compiler and runtime identification moved from Compiler to
   Metadata.  Logging, and the most basic invoke() primitive, moved from
   Compiler to a new Logger class.  Additional defensiveness against failed
   output redirections in Logger. subst_filename moved from Compiler to a
   free function. Temporarily remove POSIX conformance level selection.
   Restructure main() to match.

   Better logging on a we-thought-this-was-impossible-but-we-were-wrong
   scenario in content testing.

 * compilers.ini: Add mechanism for handling GCC-style -std=c11/-std=gnu11
   strict-conformance selection as well as compilers for which strictness is
   a separate option. Shuffle stuff around. Better defaults.
 * errors.ini: New errors discovered in the process of developing the above
   ("conformance" mode is temporarily without -D_POSIX_C_SOURCE=anything,
   which was not a combination previously tested).
 * headers.ini: Clarifications in comments.
 * prereqs.ini: Kill trailing whitespace.
 * content_tests/ftw.ini: Cope with glibc's idea of what should be in this
   header if __USE_XOPEN_EXTENDED doesn't get defined (this is AFAICT a
   straight-up bug in glibc, but we still have to handle it).