Handle critical sync errors on pull
In rare cases, it can happen that pull of a project fails for some reason in MerginApi::finalizeProjectPullApplyDiff(). There are multiple cases of critical errors that are not handled, especially the branch that reports server file assembly failed - these errors currently pass silently, and unfortunately user unknowingly ends up with a broken project. Any further pulls and pushes are prone more failures and possible data corruption. We should instead fail early - at the time we detect the pull did not went well - either by marking the local project as broken, or even better by rolling back to the version before the pull.
Probably related issues: #2382 #2394
Lets park this for a moment and see what we need to fix after the sync v2