64-bit register work

This series addresses lots of different things required to make telling GDB about 64-bit registers work, both on the integer side and the floating-point side.  I think everything works, though I haven't had a chance to test it on the 64-bit side, obviously.

The bulk of this is moving Registers to a more table-driven structure, which makes it significantly easier to do multi-architecture support, and makes the code cleaner, IMHO.

The raw trace register printing is still talking to `u.x86regs` directly, because the raw tracefile format seems to depend on exactly those registers being printed out, and no others.  With a table-driven scheme, we also print out the segment registers, which is confusing something along the way (the test failure messages from the checkpointing tests are most unhelpful in figuring this out).  I would have liked to delve into this a little more, but this is a big enough series that I thought it was worth getting it up for feedback first.