Intercept atomics

Done.

(About KT_ATOMIC_OP macro: I couldn't use {( )} because some atomic op functions return void.)