Patch Set 1: I would prefer that you didn't submit this

This is really RFC right now.  I know how to optimize this code to run faster, but this version is currently really clear and not optimized.  Tomorrow I'll try to do a bit of refactoring which may help to make some optimizations easier.  If that works, I'll amend this change to include the refactoring first.

But my plan for this series is to get a simple implementation working, then do follow-on commits to optimize it to run as fast as we can reasonably make it.  Long term I think we'll replace MyersDiff with PatienceDiff as our primary diff algorithm.