TODO: Move them out of header and into seperate TU "version.c"
version_t holds version components. `v_rawtoc()`, `v_ctoraw()` to create from/convert to the format used by `VERSION()` macro and friends. Punning this union between the raw (u32, used by the macros) and the componant struct (`v_comp`) is possible on little endian machines but discouraged.
Fortune for naka's current commit: Half blessing − 半吉
the macro uses GCC builtins to guarantee generation of `bswap*` instructions.
Integer types are supported from u/i16 to u/i128
Fix bug in VERSION macro expansion with internal `#undef`"d macros.
Fortune for naka's current commit: Half blessing − 半吉