A cleanup I made while working on my next patch. I was debugging
some checkpoint.exp failures by hand, and the most obvious thing for
me to do was to create a checkpoint, let the current one exit, and
then continue the previous checkpoint - but as soon as I did this
it crashed with corrupted register state.
We weren't restoring the saved registers in linux_fork_mourn_inferior.
And we were somehow clobbering the previous registers. Moving
some bits from the explicit context-switch code into the restore-a-fork
routine fixed all that.