Refuse to save a file over a more recently modified copy.
Check for and handle conflicting changes when switching to source files.

- If the buffer was clean, it will be silently updated with the new contents.
- If the buffer was dirty, the user will be informed.
Merge branch 'feature/protect-multiple-instances' (fixes #22)