Added atomic_fetch_min, max, umin, umax intrinsics to clang.
These intrinsics work exactly as all other atomic_fetch_* intrinsics and allow to create *atomicrmw* with ordering.
The similar set __sync_fetch_and_min* sets the sequentially-consistent ordering.
We use them for OpenCL 1.2, which supports atomic operations with "relaxed" ordering.
Should __sync_fetch_and_min and others also set IsMinMax?