Prefer __GNUC__ over BOOST_(GCC|CLANG)

This patch fixes an issue on Ubuntu systems where the Boost defines from
boost/config.hpp do not properly detect GCC compatibility.