Define opal_int128_t type if a 128-bit integer is available.

There currently is no standard support for 128-bit integer types. Any use
of the __int128 and int128_t types can lead to warnings from the compiler
when using -Wpedantic. Additionally, some compilers may support __int128
and other may support int128_t. This commit addresses both issues by
defining opal_int128_t if there is a supported 128-bit type. In the
case of GCC a pragma has been added to suppress warnings about __int128
not being a standard C type.
Fix return type of opal_atomic_cmpset_128.

The return type will be opal_int128_t after the fetching atomics
changes but for now it is int.
Add support for __sync builtin compare and swap on 128-bit values