Add support for upgrading binaries

`boot2docker upgrade` will support the Docker client binary,
boot2docker-cli binary, and boot2docker ISO now.

Add support for client binary on upgrade

Implement version check for client binary upgrade

Add success download text for client

Add --clobber option

By default, the client binary upgrade on Linux gets skipped so that
boot2docker will not interfere with the system's package manager.
However, Linux users can use --clobber option to manually upgrade their
client binary.

Add suggested changes from code review feedback

Implement Tianon's feedback and backup binary

- map fields in URL to uname commands
- backup binary to ~/.boot2docker on upgrade
- use get.docker.com/latest instead of github tags

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>

Add support for b2d binary and proper backups

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>

Add --force-upgrade-download flag

This is helpful for testing and might come in handy for users as well.

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>

Clean up messy uname etc. with switches

Signed-off-by: Nathan LeClaire <nathan.leclaire@gmail.com>