To resolve issue #3362, document the implementation of the file based unified
diff output processing by using a few more variables.

This resolves an edge case where we assumed that we could start a new hunk,
but there was not enough context to really start it. As a result the offsets
produced in the diff headers were not calculated correctly.

This doesn't fix the tests I added for this issue yet, because the memory
based unified diff has a similar but different bug for this edge case: It
leaves some of the unmodified context out of the final diff.

* subversion/libsvn_diff/diff_file.c
  (output_unified_diff_modified): Calculate the amount of context to use and
    use that as the base for the rest of the calculations. This avoids having
    to undo this step a few times.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1437449 13f79535-47bb-0310-9956-ffa450edef68