- C11 support is required (although only on serializer.c, so the check has
been moved there) since _Alignof is needed.
- Added support for little/big endian 64-bit integers.
- swap16, swap32 and swap64 now cast pointers to (uint8_t *) and (const uint8_t *)
from the argument list so the explicit casts are no longer needed.
- Fixed wrong return type from swap16() and swap32().
- Padding must be calculated according to alignment rules (given by
_Alignof), not type size. While that would work on 32-bit CPUs, it
might fail on 8-bit or 16-bit CPUs.
- Added extra parentheses on assignment in while loop to avoid compiler warning.