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'
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
Fix macro diff_atom_*idx return value types
The macros sometimes returned unsigned int (atoms.len) or long int ((ATOM) - head). Make that always unsigned int, with some range checks against negative values.