Do not assume little endian when detection fail, add more detections
More endian detection

Since __BYTE_ORDER__ only avaliable since GCC 4.6.0, add more detection.
Merge pull request #74 from miloyip/issue71endianness

Improves endian detection