I was up at the crack of dawn wrestling 100 pound batteries around for 3
hours and rewiring most of my battery bank, so today is a partial day...
but a day with power, which is always nice.

Did some design work on finally making transfers of files from direct mode
repositories safe, even if a file is modified as it's being uploaded.
This seems easily doable for special remotes; git to git repository
transfers are harder, but I think I see how to do it without breaking
backwards compatability. 

(An unresolved problem is that a temp file would be left behind when a
transfer failed due to a file being changed. What would really be nice to
do is to use that temp file as the rsync basis when transferring the new
version of a file. Although this really goes beyond direct mode, and into
[[deltas]] territory.)

Made fsck work better in direct mode repositories. While it's expected for
files to change at any time in direct mode, and so fsck cannot complain
every time there's a checksum mismatch, it is possible for it to detect
when a file does not *seem* to have changed, then check its checksum,
and so detect disk corruption or other data problems.

Also dealt with several bug reports. One really weird one involves `git
cat-file` failing due to some kind of gpg signed data in the git-annex
branch. I don't understand that at all yet.
