Move tracking of user-managed checkpoints into replayer.cc.

#605

Pretty mechanical refactor.  The only substantial change I'm aware of is that debugger_gdb is now interpreting gdb's 'X' write-memory request, which seems to be the preferred one.  (The code for that is a bit overly-general, but will be needed for a later patch in #605.)

Not much attempt was made to check all the failed-restart edge cases, but all the tests pass so I declare good enough for now :).