save repairing file incrementally
Files are now saved after each chunk is uploaded, and after each contract is renewed. (Previously they were only saved after repairing every incomplete chunk and renewing every expiring contract.) This should greatly reduce the frequency of "lost" file progress.