These changes are arbitrarily divided into multiple commits to make it easier to find potentially introduced bugs with git bisect.
LibDiff currently contains functionality for parsing diffs in the "unified format" and for a generating simple diff that contains only additions.