Fix compiler identification for flag selection

The name "clang" matches "cl" so we can no longer use that ancient
method of testing for MSVC.  Use modern compiler identification tests to
add compiler-specific C flags for building GCC code.

Reported-by: Sebastien Binet <binet@cern.ch>
Fix compilation with Clang

Compile GCC *.c source files with "-std=c89" since the sources use
constructs not valid under C99.

Reported-by: Sebastien Binet <binet@cern.ch>
Tell Git to skip whitespace checks in GCC_XML/Support/GCC

This directory contains third-party code so add a .gitattributes file to
tell Git not to check it for whitespace style.
Add gccxml_builtins.h for GCC 4.8 starting with 4.7 version
Override GCC 4.8 <bits/c++config.h> to disable __int128
Add GCC 4.8 original headers
Update GCC 4.8 headers to work with gccxml's GCC 4.2 parser

Port changes from commit 16190d39 (Update GCC 4.7 headers...,
2012-03-09) to GCC 4.8 headers:

* In (|e|x)mmintrin.h remove the function bodies that use builtins not
  provided by the GCC 4.2 parser.  The declarations are sufficient for
  our needs anyway.

* In <complex> remove assignment operator implementations that use
  conversions the older GCC parser does not recognize.

* In <iomanip> remove use of initializer lists.

* In <bits/stl_*> remove use of decltype.

* In <ext/atomicity.h> replace use of atomic builtins with older GCC
  names.

Inspired-by: Mattias Ellert <mattias.ellert@fysast.uu.se>
Merge remote-tracking branch 'upstream/master'
Fix _mm_pause in GCC 4.8 to match code in GCC_XML/Support/GCC/4.7/xmmintrin.h.
Merge remote-tracking branch 'upstream/master'
Avoid using inline namespace not supported by GCC 4.2