Record skips and tree conflicts from the merge code itself instead of via
hooking the repository diff notification handler.

* subversion/libsvn_client/merge.c
  (contains_path): New helper function.
  (record_skip,
   record_tree_conflict): New functions.

  (merge_dir_props_changed,
   merge_file_changed,
   merge_file_deleted,
   merge_file_added,
   merge_dir_added,
   merge_dir_deleted,
   merge_dir_opened): Call record_skip and record_tree_conflict where
     we already set the output arguments.

  (notification_receiver): Stop recording skips and tree conflicts.

  (record_skips): Rename to ...
  (record_skips_in_mergeinfo): ... this to avoid confusion.

  (single_file_merge_notify): Remove APR_INLINE, which doesn't seem very
    relevant for such a large function. Return svn_error_t *.
  (do_file_merge): Update caller.
  (record_mergeinfo_for_dir_merge): Update caller.


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