* ruby_atomic.h: use __atomic builtin functions supported by GCC.
__sync family are legacy functions now and it is recommended
that new code use the __atomic functions.
http://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
* configure.in: check existence of __atomic functions.
* ruby_atomic.h: define ATOMIC_SIZE_CAS() with
__atomic_compare_exchange_n() and refactoring.
* ruby_atomic.h: remove duplicate definisions between ATOMIC_XXX
and ATOMIC_SIZE_XXX.
merge revision(s) 43851,43882,43883,43995:
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44316 b2dd03c8-39d4-4d8f-98ff-823fe69b080e