Patch Set 2:

Patch set 2 has the refactoring done that I was talking about.  I think its way shorter than MyersDiff, and a whole lot easier to understand.

Its still not optimized, but this naive version isn't horrible.  I'll look at optimizing it a little tomorrow as a follow-up change.  I don't want to make the code review impossible by combing the basic algorithm with optimizations applied on top of it.