Make AtomicPtr use *mut, instead of ~
Add AtomicOption type
Add some documentation