Refactor `create_params` into `Config`.

We will need access to the `create_params` when we call
`start` also.  Since it can be determined from the env,
and relies mostly on the `provider_config`, the `Config`
seems like an obviously place for it to live.
update hostname param.

The call to `vagrant up` now works, and the ssh port is
forwarded as expected.  The randomized name is not used,
since I assume the unique container id is good enough.  Now
just need to fix the ssh settings and test the rest.
Change the `ssh_info` to use host bindings.

Use the output of inspect to look for the
network port for SSH.  From this, grab the
`HostIp` and `HostPort`.  `vagrant up` and
`vagrant ssh` now seem to work (for api at least...)
Fix issue with `up` called after halt.

Not sure why, but the forwarded ports was empty on a
second `up` after a `halt`.  Check for this scenario when
building the config params.