Commit Briefs
add support for ignoring whitespace (-w option)
Tests grow the ability to call diff with options. Options to use are encoded in the test file name as a single dash followed by a string of option letters. E.g. -wp for 'ignore whitespace' and 'do patience'
myers_divide: stop traversing snakes after reasonable max effort (neels/max_effort)
diff result: ensure sane order of result chunks
Ensure that a adjacent chunks of same type are combined, and that a minus block always precedes an adjacent plus block. The upcoming myers-divide optimization is prone to produce weird ordering of plus and minus chunks.
move 'struct range' and related functions into the diff_ namespace
no functional change
add test012
test010 has a weird failure to find a good diff. This new test, when setting the permitted_state_size = 100, gives a shorter failure that test010, to allow easier debugging.