Support asio with the Cray compiler by providing a Cray version of
fenced_block.   Because the Cray C++ compiler does not support
inline assembly, the cray version uses the builtin "fence" intrinsics rather
than inline assembly.