Use [push|pop]_macro pragmas only on gcc-4.4 and higher

Otherwise, compilation on SLES11SP3(uses gcc-4.3.4) fails with the following error(s):
thrust/detail/internal_functional.h(441): error: identifier "__host__" is undefined