When wiggle is given a patch, it splits it into a 'before' and an
'after' section and creates a diff between those.
The hunks in the patch are separated by headers and it is assumed that
these headers will line up in the result.
However: if one hunk removes a chunk of test and another hunk adds
that chunk of text, the chunk may appear more significant than the
hunk headers, so it will line up, and the hunk headers won't
This creates a mess as one of the current tests shows, and as a
newly added test demonstrates quite neatly.
So if we are re-diffing a patch, find the hunk headers and only
diff the bits between them.
This allows the new test to work, and improves the result of the old
test.