async file saving using diff/match/patch