Add support for 128-bit compare and swap on x86_64 when available.

A 128-bit compare-and-swap will enable a better atomic lifo implementation
that uses the pointer + counter method to avoid ABA issues. This commit
adds configury to check for the instruction (cmpxchg16b) and adds an
implementation that uses the __int128 type available in C99.
I think including opal_stdint.h instead of sys/types.h is fine here.

Rationale: opal_stdint.h doesn't include any other OMPI headers -- just a few system-level headers (including sys/types.h).  So I think this is kosher.