Fix using GMock and GTest.

Since gmock/gtest uses cmake to build, we can build gmock/gtest from
inside CppUTest. This way we don't have to force the user to compile
gmock/gtest before compiling CppUTest, and the user only have to care
about one build system.
Remove unreferenced variable e in the CHECK_THROWS macro.
Change to use the clang __has_attribute to check for noreturn.

The preferred way to check if clang supports noreturn is to use
__has_attribute(noreturn). Since that doesn't exist except in clang,
we need to define it to 0 for all compilers that don't have it
predefined.
Disable warning on division by zero for Visual Studio for tests.

The reason for doing this, which we of course would love to avoid, is
that we are actually intentionally doing a division by zero in one of
our tests.