Custom differencer

Python's difflib didn't seem to behave as well as I hoped. It found insertions and deletions when it should have just found replacements.