Restructured config options

Got rid of ENV vars. Now we rely on profile and command line flags for configuration. Also a bunch of minor error message and code comment improvements. 

There is more work to do:

1. Move the VMDK disk image inside the VM folder, so that we could have multiple boot2docker VMs running without the lock contention of the shared disk image. (question: do we allow people to customize VirtualBox base folder?)
2. Search for `boot2docker.ini` in the following order to allow multiple config files: `$PWD`, `$HOME/.boot2docker`, `/etc/boot2docker`. (question: what's the equivalent of `/etc/` on Windows?)

Open question: Go's `flag` package does not mix well with the subcommand structure we use. As a result `boot2docker-cli -h` and `boot2docker-cli help` print very different information. Docker client itself has similar problems. What do you think we should do here? I can probably find/write another library to do it right, but it'll introduce another dependency.