Remove legacy pre-C11 logic
GHC has required C11 support from the C compiler since a long time ago. This patch cleans up pre-C11 logic from the tree:
- autoconf/ghc-toolchain logic to add C99 flag into CPPFLAGS/CFLAGS are changed to add C11 flag instead (in practice invoked only for centos7 with gcc 4.8)
- Redundant CPP-logic around GNUC is cleaned up. GNUC >= 4 is universally true for all platforms and C compilers we support.
- Replace some legacy GHC-specific macros with GNU C equivalents.
- Hash.c optimization flags is controlled by hadrian, remove the redundant in-file optimization pragmas.
Edited by Cheng Shao