Merge pull request #105 from TsudaKageyu/shared_ptr

Replace RefCounter with std::shared_ptr if possible
CPU Endian detection test
CPU Endian detection test
CPU Endian detection test
Detect UTF-16 byte order at compile time
ByteSwap in GCC
C++11 detection in GCC
-C++11 detection in GCC