Create a __no_return__ macro to flag a function as not returning.

This is needed to compile with clang >= 3.1, as clang demands
functions that don't return to be marked as such. This is the case
for any function that always throws for instance, which we currently
have two off.
Disabled clang's Wmissing-variable-declarations.

Wmissing-variable-declarations forces 'extern' declaration for all
global variable definitions.
It it hard to shut up all of warnings because UtestMacros.h has
many global variable definitions in its macros.