Make the tree-conflict WC APIs private to Subversion (but shared across libraries). Previously, two were public and the third was private to libsvn_wc. This is issue #3321.
* subversion/include/private/svn_wc_private.h (svn_wc__get_tree_conflict, svn_wc__add_tree_conflict): New, moved from svn_wc_get_tree_conflict and svn_wc_add_tree_conflict respectively in svn_wc.h. (svn_wc__del_tree_conflict): Moved from tree_conflicts.h.
* subversion/include/svn_wc.h (svn_wc_get_tree_conflict, svn_wc_add_tree_conflict): Rename and move to svn_wc_private.h.
Mend the re-addition of the dir_closed callback into svn_wc_diff_callbacks3_t. Principally, there's a need for this callback to be able to notify all changes at once on a directory. Thus, put dir_closed() in a position to give complete notification information. Anticipating to return svn_wc_notify_state_unknown in other callback functions to skip notification there if needed, to return a complete state via dir_closed().
The callers of the diff callbacks don't handle that yet, though. Future users of dir_closed() will determine detailed behaviour and still have to implement it.
* subversion/include/svn_wc.h (svn_wc_diff_callbacks3_t): Have both *CONTENTSTATE and *PROPSTATE return values in the function signature. Fix the comment.
* subversion/libsvn_client/repos_diff.c (close_directory): Apply dir_closed() signature change. Don't pass any pointers to dir_closed() yet, to avoid overwriting previous states. Future users of dir_closed() will have to decide what to do here.