Implement the diff tree processor in the diff file writer in libsvn_client,
instead of the legacy wc diff callbacks. This finally gives us access to many
file and directory details that were previously hidden in lower layers.

* subversion/libsvn_client/diff.c
  (diff_driver_info_t): Remove now unused revision number.
  (diff_props_changed): Remove unused arguments.

  (diff_dir_props_changed,
   diff_file_opened): Remove function.

  (diff_file_changed,
   diff_file_added,
   diff_file_deleted): Implement svn_diff_tree_processor_t.

  (diff_dir_changed): New function, based on diff_dir_props_changed.
  (diff_dir_added,
   diff_dir_deleted): Implement svn_diff_tree_processor_t.

  (diff_dir_opened,
   diff_dir_closed): Delete empty functions.
  (diff_callbacks): Remove struct.

  (diff_wc_wc,
   diff_repos_repos,
   diff_repos_wc): Remove now unneeded code to set variable.

  (svn_client_diff6,
   svn_client_diff_peg6): Initialize diff processor instead of wrapper.

* subversion/tests/cmdline/diff_tests.py
  (diff_non_version_controlled_file): Don't expect specific error message
      from resolving revision in the working copy.


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