better endian support

o support for clang's __builtin_bswap variants
o faster slow paths for 32 and 64 bit swaps
o hosting double on top of a 64 bit swap with some memcpys