disable creating branch from other than master.

1) Show option of the sourceBranch for creating a new branch.
2) Only allow master and remote branches as sourceBranches.

@dinhviethoa PTAL thanks.
Earlier creating a branch with `(none`, created a branch out of the `HEAD` commit. I have changed this to allow creating branches only from the master `HEAD` commit.

This change was required because we currently don't support `nonFastForward` push. Thus creating a branch out of anything other than master will make gitPush fail.