Checkout directly from upstream/master on branch creation

*Original title: Make checking out new branch not touching local master when no local/remote branch.*
Instead of checking out local master, pulling upstream/master and creating branch from local master I would directly create it from upstream/master.

```
git remote update upstream
git checkout -b foo upstream/master
```