Add support for client binary on upgrade

Went ahead and implemented this, looking for feedback, how do those file permissions look to you?

ping @SvenDowideit @tianon 
Heh, this is kind of fun.  Why not just use `exec.LookPath` instead (http://golang.org/pkg/os/exec/#LookPath), which will be much more stable across varying host systems?