Restart a new debugging session when the debugger sends the "run" comman...

...d.

The use case is that you debug as far as you can in your current
session, and want to restart with a new replayer.  We sue the "run"
(restart process from the bugging) command, which is pretty
appropriate.

This part 1 implementation doesn't work like normal "run" though.  The
workflow goes like this

    # debugging, decide to restart
    (gdb) run
    # the old replay session shuts down
    Remote connection closed
    # the new replayer starts up
    Attach to the rr debug server with this command:
      target extended-remote :1111
    (gdb) target extended-remote :1111
    # gdb connects to new session
    Remote debugging using :1111

Additionally, the user can pass a single int arg to "run" to specify a
new event to replay up to.  By default, it's the event that was
specified on the command line, or the last one passed to "run".

    (gdb) run EVENT-NUM

Part 1 of #763.