Correctly store source string changes

With monolingual files, source string can change without changing
checksum, we need to properly detect this and update unit if needed.

See also issue #118
Remember previous source string for monolingual files

On source string change (and if format does not expose this on it's
own), we store current string as previous string, so that translators
can see what has been changed (see issue #118).