Reimplement btrace to log at startup rather than interpose exec*.

 * Instead of interposing the exec* functions, log the command line and
   all ancestor processes at startup.  This approach provides reliable
   ancestor information and is more portable.

 * The interposition technique missed posix_spawn() and system() calls on
   Linux, but on FreeBSD, it missed only posix_spawn() calls.  There are
   two issues:
    - Does the libc system() function call fork() and execve() itself, or
      some other internal function that uses those syscalls?
    - Even if the libc system() does call execve(), will that call be
      interposed?
   I don't know the answers to either question.

 * Logging happens in an __attribute__((constructor)) function, which all
   three platforms support, rather than an _init function, which is
   deprecated on Linux, required the -nostartfiles option on Linux, and did
   not work on OS X.

 * The new approach works on FreeBSD, Linux, and Darwin/OSX.  Each platform
   has a different method for getting the command-line in the
   __attribute__((constructor)) function:
    - Linux: procfs
    - FreeBSD: sysctl
    - OSX: _NSGetArgc / _NSGetArgv
   Each platform also has a different method for traversing the process
   ancestors:
    - Linux: procfs
    - FreeBSD / OSX: sysctl

 * The output file is a newline-terminated list of JSON objects.  My hope
   is that this output file will be faster and simpler to parse in the
   adapted "processlog.py" script.

 * Use /bin/echo instead of /bin/true.  On BSD and OS X, true is in
   /usr/bin, not /bin.  Linux has /bin/true, but not /usr/bin/true.
Get SourceWeb building on FreeBSD 9.0.

 * The strtoll and strtoull functions are needed in libre2, but they're
   not defined by -std=c++0x.  They are defined with -std=gnu++0x.
Fix the default source font on FreeBSD.

 * With FreeBSD 9.0 and Qt 4.8.2, the setMonospaceFlagOnFont function
   reaches the f.setFixedPitch(true) step before
   QFontInfo(f).fixedPitch() returns true.  Somehow, it returns true
   for the non-monospace DejaVu Sans font.  I'm not entirely sure
   whether I'm misunderstanding something, or whether there's something
   wrong with FreeBSD and/or Qt, but at least my PC-BSD 9.0 install has
   a Monospace font, so try using the same default font settings on
   Linux and FreeBSD.
Copy libbtrace/processlog.py to btrace/sw-btrace-to-compiledb.
btrace: Rename "the cmdline" record field to "argv".
Adapt sw-btrace-to-compiledb to work with the new btrace.log format.
Do not recognize a command-line as a compile-line if the -c is overridden.

 * In particular, the ccache sub-compiler command-lines have -c followed by
   -E.  They are already rejected because they're children processes of a
   parent compiler process, but they should also be rejected because
   they're not compiling a source file to an object file.
Update the README to account for the new btrace implementation.
Remove the old btrace implementation.
btrace: Log seconds-after-epoch instead of jiffies-after-boot.