exit `git branches` gracefully if 0 branches exist
use cross-platform `mktemp` wrapper in git-squash
`git stash-save` wrapper with sensible return code
stash & restore local changes during `git-squash`
revert repo state if squash-commit fails/aborts
add 'diff-tree' alias 'dt'
Merge pull request #51 from ryan-williams/squash

git squash fixes