Syscall definition and code generation fixup

I screwed up the recent cpp-to-python conversion by not being careful about how the `syscall_defs` table was generated: the table shouldn't include undefined syscalls for the host architecture.  (We'll have to fix things for when x86-64 hosting works correctly.)  But we didn't really notice this was a problem until we had undefined syscalls for the host architecture, which came as a part of #1312.  Including such syscalls meant that we had negative syscall numbers, which acted as negative indices into other tables, with predictably bad results.

Doing this also made me notice that we already defined `{send,recv}mmsg` syscalls; we didn't need to define them specially for x86-64.  That causes its own set of problems.

The patch series includes a few cleanups noticed along the way as well.