define *_fetch_sub_* after *_fetch_add_* macros
minor: __APPLE__ __MACH__ preprocessor consistency

MacOSX: (defined(__APPLE__) && defined(__MACH__))
atomic ld/st through volatile; avoid compiler opt

atomic ld/st through volatile; avoid compiler optimizations
for atomic loads and stores.  (Compiler intrinsics, where available,
communicate that the load or store needs to be atomic -- not partial
loads over multiple instructions -- even if optimization and earlier
load issue are also possible, e.g. with memory_order_relaxed)
CAS interfaces to return prior value

CAS interfaces to return prior value
(whether or not compare and swap succeeded)
prefer gcc/clang intrinsics over systems library
minor: move plasma_atomic_lock_* to end of file
add return type casts to some macros (C++ compat)
plasma_atomic_compare_exchange_*

plasma_atomic_compare_exchange_*
plasma_atomic_compare_exchange_n_*
plasma_atomic_exchange_n_*
minor: move plasma_atomic_{load,store}* to C11 sec

minor: move plasma_atomic_{load,store}* to section with C11 interfaces
minor: rename 'order'->'memmodel' for consistency
atomic load/store seq_cst w/o two full mem syncs
add C11 memory model to plasma_atomic_fetch_*
minor: doc
rename LICENSE -> CREDITS
use clang and GCC __atomic_fetch_* when available
plasma_atomic_fetch_*_explicit() for 32 and 64-bit
xlC asm for 64-bit ldarx/stdcx. in 32-bit program

xlC asm for 64-bit ldarx/stdcx. in 32-bit program on 64-bit hardware