On the 'move-tracking-2' branch: Make the 'svnmover mv' UI degrade
cross-branch moves so that the user gets some sort of reasonable result
rather than an error. Add a bit more error checking.

* BRANCH-README
  Remove the done item; add another.

* subversion/libsvn_delta/branching.c
  (branch_map_node_validate): Guard against simple cycles (parent==self).

* subversion/libsvn_delta/compat3b.c
  (svn_editor3_el_rev_get): Don't crash when the element does not exist.

* subversion/libsvn_delta/editor3.c
  (VERIFY): New macro.
  (svn_editor3_instantiate,
   svn_editor3_alter): Guard against simple cycles (parent==self).

* subversion/svnmover/svnmover.c
  (do_move): New function.
  (VERIFY_PARENT_EID_EXISTS): New macro.
  (execute): Use do_move() for moves. Check that the specified parent
    element exists, for several commands.


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