Try to deal with sub project checkout branch flap.

When a project's branch went to another branch and then back
to the original branch, example:
  old_branch -> feature/experimental -> old_branch

then the checkout would fail because we would use "git checkout -b ..."
to get the branch.  Unfortunately in this case "old_branch" would
already exist and this would fail.

To fix this we detect the existance of "old_branch" and if it appears
to exist we switch back.

I am starting to believe that maybe these exceptional cases should
not be "auto fixed" because of the chance of people with work
in sub-checkouts being spammed over and perhaps we need to get
the build bot to run in "rm -rf mode" when these interesting changes
are detected.

Or maybe not.