Pop stashed changes on pull error

For example I try to `pull` local branch:

```
❯ git status
On branch test
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	modified:   pull

no changes added to commit (use "git add" and/or "git commit -a")

❯ pull
Fetching from origin ...
fatal: Couldn't find remote ref test

❯ git status
On branch test
nothing to commit, working directory clean
```

Now I have all my uncommitted changes in a stash and a clean tree which isn’t obvious and a bit annoying.