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.
rather than filtering the suggested sha`s it would be better to limit the output from the candidates functions. for git blame you could instead of HEAD say "$upstream..HEAD"