Support diffs with no hunks

Also fix a case where "No newline at end of file" can appear in the middle of a hunk.

@cpennington FYI