Refactor: separate go-virtualbox package

I factored out interactions with VirtualBox into a separate package (https://github.com/riobard/go-virtualbox).  Hopefully the code for `boot2docker-cli` is nice, clean and type-safe now. 

Additionally, this could be the first step to allow another VM solution to be used (Hyper-V on Windows?) by hooking in another package (e.g. `go-hyperv`)