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
Use cowsay from the PATH instead
typo `that you cat track` -> `that you can track`
Merge pull request #138 from yuvallanger/patch-1

typo `that you cat track` -> `that you can track`
Rename `foo` to a meaningful name `repo_name`

I get lost within all of those meaningless names.
It is useful to give things meaningful names, especially in documentation.
Merge pull request #139 from yuvallanger/patch-2

README: Using a `repo_name` instead of `foo`
Release v1.20141009
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
vcsh: Initial support for cloning from branches other than master