Various atomics fixes for gcc/clang.

Make atomicInc()/atomicDec() work with clang, too; also, actually import the memory model constants from C rather than relying on the enum matching the C constants by happenstance.

Note: vcc still needs support (the necessary intrinsics should be available for all architectures), and the fallback code for atomicInc()/atomicDec() is not actually correct.