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 
I'd move this into `upgradeClientBinary` so you don't print this, and then 'skipping, up to date`

also - which client binary?