On the 'move-tracking-2' branch: Get rid of recursive delete functions.

Deleting a single element implies deleting its children, unless the children
are specifically moved to somewhere else. We don't need any recursive delete
functions. Instead, treat children of a subbranch-root element as unlinked, so
they are automatically considered deleted by the "purge orphans" function etc.

* subversion/include/private/svn_editor3.h
  (svn_branch_map_update_as_subbranch_root): Declare.
  (svn_branch_map_delete_children): Delete.
  (svn_branch_map_branch_children,
   svn_branch_map_copy_children): Clarify and correct doc strings.

* subversion/libsvn_delta/compat3b.c
  (svn_branch_branchify): Convert the old subtree root element to a subbranch
    root element instead of deleting all its children.

* subversion/libsvn_delta/branching.c
  (svn_branch_map_update_as_subbranch_root): Rename & make public.
  (svn_branch_map_purge_orphans): Purge any children in the outer branch
    of a subbranch root element, as well as children of a nonexistent parent.
  (svn_branch_map_delete_children,
   branch_instance_delete,
   branch_instance_delete_r,
   svn_branch_delete_subtree_r): Delete.
  (svn_branch_branch_subtree_r): Track the rename.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/move-tracking-2@1640172 13f79535-47bb-0310-9956-ffa450edef68