Switch to custom byte swapping function.

GCC builtins like __bswap_32 are not portable between versions.
Yeah, should be safe on the hub. As you see I started by adding all of them, but now adding all of them will take additional work, so I stuck to only the one.