Define a callback-based FS API to report changed paths.
The old API is not going to be deprecated until the majority of users have been migrated. Also, there is no backend that implements the new API, so this will simply segfault when being called. The next patch will fix this by adding a fallback implementation for it.
* subversion/include/svn_fs.h (svn_fs_path_change3_t): Declare the new path change data type. Lose the unusable noderev ID and add the path, so this struct is now self-sufficient. (svn_fs_path_change3_create): Declare a suitable constructor to help future binary compatibility. (svn_fs_path_change_receiver_t, svn_fs_paths_changed3): The actual new API & callback function type.
* subversion/include/private/svn_fs_util.h (svn_fs__path_change_create_internal2): Declare a suitable private API to instantiate the new data struct - similar to the old one.
* subversion/libsvn_fs_util/fs-util.c (svn_fs__path_change_create_internal2): Implement the new internal API similar to the old one.
* subversion/libsvn_fs/fs-loader.h (root_vtable_t): Add entry for the new API.
* subversion/libsvn_fs/fs-loader.c (svn_fs_paths_changed3): Implement as simple vtable call. This will actually segfault for now b/c nobody provides the function. (svn_fs_path_change3_create): Implement like svn_fs_path_change2_create.
* subversion/libsvn_fs_base/tree.c * subversion/libsvn_fs_fs/tree.c * subversion/libsvn_fs_x/tree.c (root_vtable): None of these backends actually implement the new API.