Add autoconf checks for builtins, __has_builtin doesn't seem to work correctly with clang 3.4 and __builtin_choose_expr/__builtin_types_compatible_p