Update local downstream branches on renaming branch

When a branch tracks another branch, downstream branches should continue
tracking the upstream branch even if it is renamed.  However, renaming a
branch does not automatically update the branch.<name>.merge configuration
option for its downstream branches to point to the new name of the branch.
This causes the downstream branch to continue to point to a branch with
the old name which may now no longer exist or may be a completely different
branch.

Added branches_get_all() to return the configurations of all branches.
Made rename_branch() loop through them and update the value of
branch.<name>.merge for each branch tracking the branch being renamed.
This fix only works when the branch is locally tracked.  Added a test case
in t3200 to catch this bug.

Signed-off-by: Mrunal Sabnis<msabnis1@bloomberg.net>
Signed-off-by: Nitisha Warkari<nwarkari1@bloomberg.net>
Reported-by: Alex Vallee<avallee@google.com>