fix thinko with generated match() functions
prevent step_thread test from infinite looping

If an internal rr error occurs during the step_thread test, the
gdb_rr.log file will start to fill up with:

(gdb) s
s
[ERROR /home/froydnj/src/rr/src/Registers.cc:289:maybe_print_reg_mismatch() errno: 0 'Success']
 -> r11 0x306 != 0x206 (replaying vs. recorded)
Remote connection closed
(gdb) s
s
The program is not being run.
(gdb) s
s
The program is not being run.
(gdb) s

...and so forth.  Short-circuit this by checking to see whether gdb died
when we issued a step command.
fix --suppress-environment-warnings short option

-e was not listed in the option string for getopt_long, leading to
frustration when trying to follow the |rr help| output.
mark vdso syscalls as bufferable or not
rearrange x86-64 vdso symbol monkeypatching for clarity
define RR_HIDDEN in preload.c for convenience
fixup sizeof(sizeof(syscallbuf_hdr)) thinkos

This expression computes the desired result on 32-bit platforms, but
returns something quite different on 64-bit platforms, leading to replay
and dump failures when we actually have syscallbuf data in the trace.
fudge r11 over syscalls on x86-64
turn on syscall buffering for x86-64 vdso syscalls
add support for finding where lib{c,pthread} live
factor out finding elf symbols
add support for generating field offsets from assembly templates
add Marker functionality to assembly templates
turn on syscall buffering for non-cancellation points in libc
turn on syscall buffering for cancellation points in libc