fix to use Solaris libc routines that return value

fix to use Solaris libc routines that return value
atomic_{add,or,and}_{32,64,ptr}_nv() return new value
atomic_{add,or,and}_{32,64,ptr}() return no value (void)
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
document getall
disable use of __thread in nss_mcdb.c on OSX

__thread not supported by gcc 4.2.1 on Mac OSX
(__thread is supported by clang 4.0 on Mac OSX)
(currently harmless; nss_mcdb.c is not currently used on Mac OSX)
specify ar -X32 on AIX when ABI_BITS=32
portability casts and 64-bit intrinsics on Mac OSX