Add AIX/POWER atomicops and fix compilation with IBM xlC C++ compiler.

These patches adds initial support for POWER 32 and 64-bit atomic operations and fixes up various little things that lets the project and tests compile cleanly with the IBM xlC C++ compiler on AIX.
Then it's a problem in gtest. I don't think it's good idea to make this change in protobuf code. Could you revert this EXPECT_EQ() change from this PR?