Reinstate svn_depth_exclude (removed in r27958), but only in the "server" side. Specifically, completely disable it at the command-line (which should have been done before r27958), and document it as not being supported in the wc or client libs in 1.5, but make the (relatively straightforward) changes to the repos reporter to enable 1.5 servers to support svn_depth_exclude arguments to "set_path".
Because this can't be tested by the "svn" client, add a libsvn_repos unit test to test it.
* subversion/include/svn_types.h (svn_depth_t): Add svn_depth_exclude as -1 again; document (in a private comment) that it is only supported on the server in 1.5.
* subversion/libsvn_subr/kitchensink.c (svn_depth_to_word, svn_depth_from_word): Support "exclude" again (as before r27958).
* subversion/libsvn_repos/reporter.c (Theory of operation, read_path_info, write_path_info): Let svn_depth_exclude be serialized in the reporter file (shifting each depth value up one value). (delta_dirs): Don't do the "delete" logic for excluded paths. Don't call update_entry for excluded paths.
* subversion/include/svn_repos.h (svn_repos_set_path3): Document that the revision argument may be SVN_INVALID_REVNUM when depth=exclude.
* subversion/svn/main.c (main): Don't allow --depth=exclude on the command line.
* subversion/tests/libsvn_repos/repos-test.c (reporter_depth_exclude): New test. (test_funcs): It passes.