We should also be looking for the "racy git" case here.

If mightBeRacilyClean() returns true, we need to do a content check, no matter what forceContentCheck says.  This is to avoid the case where the index was written out with the same timestamp as the file itself, making the file timestamp somewhat in doubt about being modified or being clean.