x86: Atomic: Add memory fences to locks

Data between the lock and unlock call has to be protected well, in any
sort of environment. Adding in fences will prevent out of order writing
and execution of instructions, becoming non-atomic.

Signed-off-by: Bart Kuivenhoven <bemkuivenhoven@gmail.com>