vcsh: Make status show commits ahead/behind remote

This is work in progress:
* It does not deal with repos without a remote tracking branch
* It does not share any info if run on a single repo
* I should probably factor this out in a new function

github: in response to richih/vcsh#123
test commit
test commit
test commit; rewrite to use comm and two temp files to get around argument too long crap
3rd try
vcsh: Make `vcsh which dontexist` exit 1

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760882
vcsh: Add support for overlay functions
Force temporary file/directory removal
Add checks to file operations
Check for existence of 'comm' command
Don't use subshell when creating the temporary repo
Add recursive option (-r)
vcsh: Improve error handling of clone()

May fix https://github.com/RichiH/vcsh/issues/122
Replace temporary repository with copy based method
vcsh: Make status() show commit offsets to remote tracking branch

github: Fixes richih/vcsh#123
vcsh: Make fatal() default to `exit 1`
vcsh: Fix random tab
vcsh: Use BSD/OS X compatible `mktemp`
vcsh: Remove extra function
vcsh: Add support for `vcsh list-untracked -r`