Remove ASLR requirement since ADDR_COMPAT_LAYOUT takes care of it
Override XShmQueryExtension in preload.c to disable XShm
Merge #769.
Add a test for --goto-event.
Merge #773.
Restart a new debugging session when the debugger sends the "run" command.

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
Rename dbg->fd to dbg->sock_fd for clarity.
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.
Pin tracer to CPU 0 as well.
Add file missing from ebb4fd36d757c56f39f000cb326fd5f0c878f6e8.
Work around hang caused by runaway tracees, which we await precise kills.
Make trace-interruption logic more robust when sighandlers hang.
Track sighandler info in replay too.
Rename the preload syscall helpers to have "traced"/"untraced" as first component of name to more easily distinguish in backtraces.
Fix off-by-one error, and add test of faulting in JIT code.
Restore SIGSEGV handler after rdtsc traps in which SIGSEGV is blocked.

See long comment in handle_signal.c
Drop pending signals at desched if they're ignored, and handle interrupted SYS_restart_syscall.

Dropping ignored signals while processing desched's keeps us from
having to add signal queuing.  The test for that caused interrupted
SYS_restart_syscall's, so basic logic was added for that.  No claim is
made that the logic comprehensive or correct.
Add files missing from previous commit.
Conditionally enable non-essential perf counters.
Print a more user-friendly message when we abort because of multiple pending signals.