Before saving, if we're overwriting an existing file, then take a temporary backup of that file, and restore it if an exception occurs during the save. This temporary backup file is deleted if no exceptions occur. Resolves #37.