Reuse the debug server state across replay restarts.

With this change, rr restarts replay "transparently" to gdb clients
when the client issues the "run" command; i.e. the user doesn't have
to do anything to reconnect to the restarted replay session.  That
means the debugging workflow is now

    # rr replay -p pid trace
    (gdb) b C
    Breakpoint 1
    (gdb) c
    Breakpoint 1, C ()
    # no more debugging to be done.  need to restart session.
    (gdb) r
    The program being debugged has been started already.
    Start it from the beginning? (y or n) y
    # rr "transparently" restarts the session
    Breakpoint 1, C ()
    (gdb)
    # ^^ tracee continued up to first breakpoint/watchpoint by gdb,
    # restarted debugging session ready.