add platform-specific {bswap,rotl,rotr}(…) overloads

* On 32-bit platforms, add long and unsigned long overloads. These are not covered by the int32_t and uint32_t overloads since int32_t is int, and int and long are distinct types, even though both are 32 bits.
* On 64-bit platforms, add long long and unsigned long long overloads. These are not covered by the int64_t and uint64_t overloads since int64_t is long, and long and long long are distinct types, even though both are 64 bits.