It turns out that _observed_sha1 was not setting the size field.
I don't know why this didn't matter for commit, but maybe the size was getting
set somewhere else. apply_inventory_delta from TreeTransform wasn't setting it.
Maybe there is a different bug there. Regardless, we now set the size field
so I can be sure that we aren't re-computing the sha values for all the
files which are old enough.
Now to test on Linux, because the rename is probably going to change the
ctime there.