GCC may have support for __has_feature but doesn't support __has_builtin

So perform these checks separately
Merge pull request #46 from amorozov/bug/45

GCC may have support for __has_feature but doesn't support __has_builtin