Revert "access workaround for gcc-4.0"

This reverts commit d84121d7e3cd3703fa6035d92b6fe00e3a63dcea.
Revert "appease gcc-4.0: name enums, move local enums to non-local definitions"

This reverts commit 92e409980f32cd44f4bcf1a548b3610e778f9afc.
Revert "use __GNUC_PREREQ macro"

This reverts commit 8a39ffdc98c0b1308e499f2f11ce99a1b60af19a.
Revert "workaround accessibility bug in gcc-4.0"

This reverts commit 8614faa30b56f096fa8205c86aa9d5a56c855326.

Conflicts:
	include/clang/Serialization/ASTReader.h
Revert "gcc-4.0 workaround for template member function"

This reverts commit 4aa8fb1138a5ee9d328891ae07e9f1e78d57ca6e.
Revert "chained template function call workaround for gcc-4.0"

This reverts commit cd31511dfabbcf0af41eed809d2a09959ad5c837.
Revert "gcc-4.0 workaround"

This reverts commit dd5cbae7847cbcb552d17d76dbce80149ed2e84a.
undo gcc40 workaround
remove dead test code
Revert gcc40 template workaround
revert gcc40 namespace workarounds