branch_util: fail branching if collisions on major version

I added an extra check on the branching process to detect
a major version collision across branch types. Additionally,
I moved some code from BranchExist() into CheckIfAlreadyBranched()
to allow unit testing on BranchExist().

Bug: chromium:1122635
Test: unit tests; local dry runs
Change-Id: I031ea4753511efee1e1fcbb183da92aca3b6da8c
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/go/+/2458780
Commit-Queue: Julio Hurtado <juahurta@google.com>
Tested-by: Julio Hurtado <juahurta@google.com>
Reviewed-by: Sean Abraham <seanabraham@chromium.org>
5 files changed