PowerPC64 support for LLVM and Atomic

This adds architecture-specific support for the ppc64 of the following components below:

* LLVM Host CPU Name
* Atomic macros
vm capi: more MRI C API enum types compatibility.

* add RUBY_ prefix for T_XXX types
* add backward compatibility for T_XXX types.

Currently, MRI provides `RUBY_T_XXX` forms of enum types in C extension.
But, Rubinius does not provide these of types.
So, it causes gem installation error, when gem uses `RUBY_T_XXX` in C extension.

e.g. glib2 gem:

```log
rbglib_utils.c: In function 'rg_s_parse_debug_string':
rbglib_utils.c:250:22: error: 'RUBY_T_HASH' undeclared (first use in this function)
     Check_Type(keys, RUBY_T_HASH);
```
Try to coerce Complex with only real part.

This closes #3142.
added a spec for coercing Complex with only real part into Float
Merge pull request #3131 from gustavotemple/support-llvm-ppc64

PowerPC64 support for LLVM and Atomic
Merge pull request #3141 from cosmo0920/mri-capi-enum-types

vm capi: more MRI C API enum types compatibility.
Merge pull request #3143 from Benny1992/master

Coerce Complex with only real part