Don't abort if /etc/pulse/client.conf is inaccessible

On systems without PulseAudio, rr currently aborts. Change
create_pulseaudio_config() so it indicates to its caller that no
replacement configuration settings should be used instead, and
continue executing.

Signed-off-by: Stephen Kitt <steve@sk2.org>
Merge pull request #1037 from skitt/master

Don't abort if /etc/pulse/client.conf is inaccessible
Support sendfile64.
Support _sysctl system call.
Merge pull request #1041 from rocallahan/sendfile

Support sendfile64
Merge pull request #1042 from rocallahan/sysctl

Support _sysctl system call
Handle mmaps where some pages of the mapping are beyond the end of the file; these pages generate SIGBUS when accessed.
Merge pull request #1045 from rocallahan/mmap-short-files

Handle mmaps where some pages of the mapping are beyond the end of the f...
Fix 'make check' regressions from a2e62741f7c4721a692dd34fd3e82a7da8f35751
Merge pull request #1048 from rocallahan/fix-mmap-regressions

Fix 'make check' regressions from a2e62741f7c4721a692dd34fd3e82a7da8f357...
When exec'ing a 64-bit image (not currently supported by rr),
cause the exec to fail cleanly without aborting rr.

Also print slightly better messages when the user tries to apply rr
to a 64-bit image directly.
Support accept4().
Merge pull request #1052 from rocallahan/accept4

Support accept4().
Merge remote-tracking branch 'roc/fail-exec-64bit'
Warn when using Haswell CPU with microcode != 0x7.
Revert "When exec'ing a 64-bit image (not currently supported by rr)," because it breaks recording exe images that require a $PATH lookup.

This reverts commit 8c852633c58ee07999d9dc2968af7c1701f21e94.
Simply the default record/replay workflow.

With this change, traces are saved to ~/.rr/ by default (this can
still be overridden with the _RR_TRACE_DIR env var.)  In addition, a
"latest-trace" symlink is maintained within the saved-trace dir, and
updated with each invocation of |rr record|.  This enables the next
simplification, which is allowing |rr replay| to be specified with no
arguments.  This replays the "latest-trace" symlink in the saved-trace
dir.

And finally, trace directories are now named based on the basename of
the exe path that's recorded.  So for example, |rr record
/usr/bin/firefox| will create a trace directory "firefox-$nonce".

With these changes, users can do the following

    $ rr record foo
    [Saves recording of "foo" to ~/.rr/foo-0.]
    $ rr replay
    [Replays ~/.rr/latest-trace, which points at ~/.rr/foo-0.]
    $ rr record bar
    [Saves recording of "foo" to ~/.rr/bar-0.]
    $ rr replay
    [Replays ~/.rr/latest-trace, which points at ~/.rr/bar-0.]
    $ rr replay ~/.rr/foo-0
    [Replays ~/.rr/foo-0, which is still saved.]
Move the record_*_data() helpers to Task methods.
checkpoin