git-fixup improvements

Proposed git-fixup improvements to:
- Get better shell compatibility.
- Less conservative git blame-based fixup candidates detection.
- Add support for git log-based fixup candidates detection, i.e., suggesting the last commit which changed the files affected by the fixup.
`git rev-parse @{upstream}` should give the tip of the upstream branch directly