X86-64 kernel abi structures

This patch series adds almost all the necessary x86-64 bits to `kernel_abi.h`.  With the appropriate addition to define `RR_NATIVE_ARCH`, it passes `g++ -fsyntax-check` on 64-bit, which tests all the `static_assert`s and the like in the file.

I am ambivalent as to whether the `RR_NATIVE_ARCH` should be included.  I left it out, because way too many other things would break if you put it in and somebody tried to actually compile for x86-64.  But I can see the argument for adding it, too, since we're getting to the point where compiling for x86-64 (if not actually running rr) could be a thing.
This doesn't seem right to me. It means that when we compile on x86-64, we'll set `packed` even for the x86-32 definition of epoll_event. Is that OK?