Support ATOMIC_SWAP operation (and __sync_lock_test_and_set).
Generalize EmitAtomicRMW into EmitAtomicBinary which can optionally not have an operation, very similar to the MIPS backend.