Merge pull request #48 from ryan-williams/squash

source helpers from `git squash`
make new `copy-diffs` work over ssh

move to copy-diffs-rsync
restore add/init mirror remote scripts
restore old copy-diffs behavior
use actual tmp dirs from mktemp in copy-diffs-test
add `git ls-hashes` command for all files’ shasums
add `git all-hashes` to list all commit hashes
only list top levels of untracked directories
add some “git -—no-pager diff” aliases
Fix git-conflicting-checkout-theirs-continue
make `git-links` respect directory arguments
make `command-exists` see aliases; add test
add simplify() path helper
better relpath handling of intermediate “..”s
fix sys.path construction in add-mirror-remote
move copy-diffs-test off of cloning git-helpers

travis gives us a “shallow” clone of git-helpers and that was causing
issues with this test, which depends on arbitrary things about the repo
existing.
Merge pull request #45 from ryan-williams/utils

add a few utilities for listing files / commits
Merge pull request #49 from ryan-williams/copy-diffs

restore old copy-diffs implementation
exit `git branches` gracefully if 0 branches exist
use cross-platform `mktemp` wrapper in git-squash