xdiff: find funcnames starting from changed lines

We currently look for funcnames to put in the hunk header by
starting from the line before the context we show. That
means a diff like:

    --- a/foo.c
    +++ b/foo.c
    @@ ... @@
     int bar() {
    -       return 2;
    +       return 3;
     }

will put the function _before_ "bar" in the hunk-header,
even though it has nothing to do with the change. By
counting from the changed lines, we show "bar" in the hunk
header. This may be redundant with what's in the context
already, but it shows the location of the change more
accurately.