Reduce coupling between diff drivers and diff writers.
Let diff drivers anchor the diff-processor at the requested target paths, rather than sometimes there and sometimes at the parent of one of them, in summarize mode. The quirky anchoring still persists in non-summarize mode.
* subversion/libsvn_client/diff.c (diff_driver_info_t): Expand comments. (diff_wc_wc, diff_repos_repos, diff_repos_wc): Remove 'root_relpath' and 'root_is_dir' outputs; instead anchor the diff processor at the requested targets if no 'ddi' coupling parameter is given. (do_diff, svn_client_diff7, svn_client_diff_peg7, svn_client_diff_summarize2, svn_client_diff_summarize_peg2): Update the calls accordingly.
* subversion/libsvn_client/diff_local.c, subversion/libsvn_client/client.h (svn_client__arbitrary_nodes_diff): Remove 'root_relpath' and 'root_is_dir' outputs. Take an 'anchor_at_given_paths' mode flag and obey it.
* subversion/libsvn_client/diff_summarize.c, subversion/libsvn_client/client.h (summarize_baton_t, send_summary): Remove path adjustment. (svn_client__get_diff_summarize_callbacks): Remove path adjustment and an unused parameter.
* subversion/libsvn_wc/diff_local.c, subversion/include/private/svn_wc_private.h (svn_wc__diff7): Remove 'root_relpath' and 'root_is_dir' outputs. Take an 'anchor_at_given_paths' mode flag and obey it. (svn_wc_diff6): Update the call to svn_wc__diff7() accordingly.