Use the diff tree processor for hooking the diff --summarize handler in
libsvn_client.

* subversion/libsvn_client/client.h
  (svn_client__get_diff_summarize_callbacks): Update api to return a diff
    processor instead of diff callbacks. Remove reverse option as that
    can be applied by the caller by reversing the tree.

* subversion/libsvn_client/diff.c
  (diff_wc_wc): Implement proper result and scratch pool.
  (diff_repos_repos): Calculate anchor path. Use result/scratch pool. Make
    text delta handling optional.
  (diff_repos_wc): Calculate anchor path. Use result/scratch pool.

  (do_diff): Add anchor_path output argument. Add result pool. Update caller.

  (diff_summarize_repos_wc): Wrap diff processor when we need reverse logic
    Update caller. Remove logic that calculates anchor, which is now an
    output argument of called function.

   diff_summarize_wc_wc): Update caller. Remove logic that calculates
    anchor, which is now an output argument of called function.

  (diff_summarize_repos_repos): Remove now unused function.

  (do_diff_summarize): Update diff_repos_repos instead of
    diff_summarize_repos_repos. Remove target calculation for
      svn_client__arbitrary_nodes_diff.

  (svn_client_diff6,
   svn_client_diff_peg6): Update caller.

* subversion/libsvn_client/diff_summarize.c
  (includes): Add svn_path.h and private/svn_wc_private.h.
  (summarize_baton_t): Add variables.
  (ensure_skip_relpath): New function.
  (send_summary): Update caller. Update patch calculation.
  (cb_dir_closed): Update patch calculation.

  (svn_client__get_diff_summarize_callbacks): Fetch a diff tree processor
    here.


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