we want to allow config precedence over ssh settings. other than host, the ssh settings will not apply to winrm

I was testing the latest Transform on Hyper-V and VirtualBox tonight and found a problem with Hyper-V. Since all settings are fed from vagrant ssh-config, most were wrong for my box. I use a different username and password than 'vagrant'  and they were not being used and kitchen was trying to talk to winrm on port 22 since that is indeed the port that shows up in ssh-config. We dont see this problem on VirtualBox since it uses a different strategy for getting the port and in my case I do use the standard vagrant user on my virtualbox box but its certainly possible someone else could use a different user.

Totally agree that this is confusing!

Ideally, just using `config[:port] || default_port` would make it much simpler. However, vagrant's internal port resolution logic is equally complicated. Take a look at https://github.com/mitchellh/vagrant/blob/master/plugins/communicators/winrm/helper.rb which has the winrm communicator's logic for this. This is also poorly documented on vagrantup.com. 

One problem with the simpler logic is if a user has just:
```
driver:
  network:
  - ["forwarded_port", {guest: 5986, host: 55986}]
  - ["private_network", {ip: "192.168.33.33"}]
```
This is perfectly valid and vagrant will look at this and use 55986 as the port to use for winrm messages. However, kitchen-vagrant would then use an incorrect port.

Let me try to lay out the basic logic vagrant uses to resolve the port:

Setting the communicator's port config has the highest precedence. If that is missing, vagrant will examine the `forwarded_port` entries and use the communicators `guest_port` setting, falling back to default_port if there is no guest_port, to determine which entry applies to the communicator.

For example, if the user includes the following:
```
driver:
  guest_port: 5555
  network:
  - ["forwarded_port", {guest: 5555, host: 55986}]
  - ["forwarded_port", {guest: 80, host: 8888}]
```
vagrant will look for a forwarded port entry pointing to a guest port of 5555 and therefore use 55986.

So I'm trying to account for this logic in the driver.