The Ev2 API is not reentrant. Mark that in the documentation, and enforce it in debug builds.
* subversion/include/svn_editor.h: (...): note that the API is not reentrant
* subversion/libsvn_delta/editor.c: (struct svn_editor_t): add debug-only flag WITHIN_CALLBACK (START_CALLBACK, END_CALLBACK): new macros to test/set the callback tracker. provide non-debug forms, too. (check_cancel): helper function to check for cancellation, along with guards against reentrancy. (svn_editor_add_directory, svn_editor_add_file, svn_editor_add_symlink, svn_editor_add_absent, svn_editor_alter_directory, svn_editor_alter_file, svn_editor_alter_symlink, svn_editor_delete, svn_editor_copy, svn_editor_move, svn_editor_rotate, svn_editor_complete, svn_editor_abort): use new callback tracking macros