Futher testing on my powerpc system revealed that the powerpc
specific atomic implemetation was flawed. Rather than spending
a lot of time correctly reimplementing it in assembly I have
reworked it in to a 100% generic version. The generic version
will not perform well but it does provide correct sematics. It
will be used only when there is no architecture specific version
available. These changes do not impact x86_64 and x86 which have
have correct native implementations.