helm: setup the new branch and checkout.

- separate the branch creation from checkout. the branch is created
  only if needed. the steps to checkout the branch are the same for
  existing branches or the new one.