Issue#935

Jenkins testrun: (only fixed the pmdwarning in the latest commit, so the testrun is 1 commit "behind")
https://jenkins.catrob.at/view/All-Categories/view/Catroid-multi-job/job/Catroid-Multi-Job-Custom-Branch/1905/

Process How Files are getting saved (in order to avoid data loss):
You have 3 steps. During/Before/After the first 2 steps (The renaming should be atomic on Linux/Android) an error can occur, this will be checked within the SanityCheckFunction().

-- Filestate: code.xml
1. Write to tmp_code.xml            
-- Filestate: code.xml tmp_code.xml   
2. Delete code.xml
-- Filestate: tmp_code.xml   
3. (usually atomic) rename tmp_code.xml    --> code.xml
-- Filestate: code.xml

@aried3r 
the lock does not only protect the codefiles, it is also for the xstream object (references are checked, it is only used within this class)

This solved a testfailure with concurrentmodificationexception.