x86: Better emergency codes for core 0

Shift-G still works, though I suggest weaning yourself of that.  Ctrl-G
does the same thing (enters the monitor when the core is able to).  This
is the preferred way to enter the monitor.

Ctrl-Q also enters the monitor, but does so directly from IRQ context.
This can be dangerous, but is better than nothing.

Ctrl-B dumps a backtrace and trapframe of the core.  You could do this
manually after a Ctrl-Q, too.

The core that runs the backtrace or monitor is whatever core received
the IRQ.  This is almost always core 0.  Debugging remote cores can be
done from the monitor on core 0.

These codes require interrupts to be enabled.  I don't have a way to
send nmis to core 0 yet, other than from the monitor on another core.