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 
Do we actually use this URL again in this function?  Also, why not just use `https://get.docker.io/latest` instead?