Fix piping data to minimal-do/redo-stamp

In minimal-do, redo-stamp is implemented by using true(1), which doesn't
read any data from stdin. Instead, use "cat > /dev/null" when stdin is a
pipe. This should make, for example, "cat foo | tee $3 | redo-stamp" to
work as expected.
Don't track state using ctime

Contribution by Robert Bocchino <bocchino@me.com>
Message-Id: <cda1c555-0635-4e44-b306-15964a3a74c4@googlegroups.com>

"""
Hi, I've discovered what I think is a fairly significant bug in
apenwarr/redo/master. It includes the ctime in the timestamp that it uses to
compute dependencies. This is broken on Unix systems: ctime is not "creation
time" but rather the time of the last metadata change.

https://docs.python.org/2/library/stat.html

This leads to spurious "you modified it; skipping" messages on OS X Mavericks
when the file contents have not changed, but the metadata has. (Interestingly,
I did not observe this behavior on OS X Mountain Lion, so something about the
inode management must have changed between Mountain Lion and Mavericks.)
"""
Test permissions using grep

Make the test less specific by using grep to match the permission. This
fixes a problem on Yosemite where the permission becomes "-rw-r--r--+",
which has a trailing + which is not expected.
Remove /usr/include/stdio.h as redo target

The assumption that stdio.h exists at the given path doesn't hold on
OS X Yosemite.
Use sqlite WAL

Fix problem on Yosemite where PERSIST creates I/O errors when running
in parallel.