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.
I don't think it makes sense to use the compile-time #ifdef here. How about we define the non-packed structure in base_arch and override it with a separate packed definition in x86_64_arch?