In the libsvn_client diff handling: replace the output argument of the anchor
base argument with a pair of root_relpath and root_is_dir values.

These two booleans should allow cleaning up the remaining 'dual calculations'
of anchors in the diff code.

The diff runner and diff writer have/had deep knowledge about each others
about this handling and covered for bugs on the other side. This is pumbing
in preparation for replacing this with the usage of generic diff driver rules.

* subversion/include/private/svn_client_private.h
  (svn_client__arbitrary_nodes_diff): Move function to client.h

* subversion/include/private/svn_wc_private.h
  (svn_wc__diff7): Update private api.

* subversion/libsvn_client/client.h
  (svn_client__arbitrary_nodes_diff): Move function here and update output
    arguments to new form.

* subversion/libsvn_client/diff.c
  (diff_wc_wc): Update output arguments. Update caller.
  (diff_repos_repos): Update output arguments. Remove filter that isn't
    necessary if our caller wants to do the filtering based on what we
    return.
  (do_diff): Update caller.

  (svn_client_diff6,
   svn_client_diff_peg6): Update caller.

  (svn_client_diff_summarize2,
   svn_client_diff_summarize_peg2): Update caller.

* subversion/libsvn_client/diff_local.c
  (svn_client__arbitrary_nodes_diff): Update output arguments.

* subversion/libsvn_client/diff_summarize.c
  (summarize_baton_t): Remove two variables.
  (ensure_skip_relpath): Remove now unneeded function.
  (send_summary): Update caller.
  (svn_client__get_diff_summarize_callbacks): Pass skip_relpath directly.

* subversion/libsvn_wc/diff_local.c
  (includes): Add wc_db.h. Remove translate.h.
  (svn_wc__diff7): Update argument. Always root at parent directory when we
    can tell the caller about this. (This fixes driving a root replacement)


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