Reorganize clang config to avoid macro redefinitions and fix GCC-4.8, 4.9, and 5.0 detection.