On the 'move-tracking-2' branch: Disentangle the concept of nested branches from the basic concept of branches.
* subversion/include/private/svn_branch.h, subversion/libsvn_delta/branch.c (svn_branch_state_t, svn_branch_state_create, svn_branch_add_new_branch): Add a branch-id field, and delete the outer- branch and outer-eid fields. (svn_branch_get_element): Remove an assertion which need not be true, and which with the new code is not always true. Move some functions to svn_branch_nested.h and branch_nested.c.
* subversion/include/private/svn_branch_repos.h, subversion/libsvn_delta/branch_repos.c Move some functions to svn_branch_nested.h and branch_nested.c.
* subversion/include/private/svn_branch_nested.h, subversion/libsvn_delta/branch_nested.c New files.
* subversion/tests/cmdline/svnmover_tests.py (merge_swap_abc, move_to_related_branch_2): Adjust expected outputs of the '--ui=serial' listing to account for branch root paths no longer being included in the serialization format.
* subversion/tests/cmdline/svntest/wc.py (_re_parse_eid_branch, State.from_eids): Adjust to account for branch root paths no longer being included in the serialization format.