This code was mostly written as an experiment, to see just how much
could be done using only the C preprocessor (give or take). Turns out
you can do quite a lot.

In fact, *all* of the tables in this library are generated at compile-time.
The polynomial is #define'd in crc32i.h, and all of the tables are generated
through a combination of enums and preprocessor trickery. Note that this
may cause this code to compile slowly on some machines or compilers.

At the moment it is hardcoded for x86-64 and gcc, but it could be adapted to
other compilers if they also have features like e.g. alignas() or whatever.