vsphere: Support multiple NIC backings

A bit of background: currently fog supports Network[1], but there's also
DistributedVirtualPortgroup[2] which extends Network.

With this commit create_vm tries to detect if the network is a
DistributedVirtualPortgroup. If it is it will create the appropriate backing
(VirtualEthernetCardDistributedVirtualPortBackingInfo[3]). If it's not it will
fall back to the regular backing (VirtualEthernetCardNetworkBackingInfo[4]).

Known issues:
* It is possible for an administrator to assign network permissions to a
  DistributedVirtualPortgroup[2], but not to the DistributedVirtualSwitch[5].
  In that case you can't read its UUID and it fails with an exception.

[1]: http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.Network.html
[2]: http://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.dvs.DistributedVirtualPortgroup.html
[3]: https://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.vm.device.VirtualEthernetCard.DistributedVirtualPortBackingInfo.html
[4]: https://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.vm.device.VirtualEthernetCard.NetworkBackingInfo.html
[5]: https://pubs.vmware.com/vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvim.DistributedVirtualSwitch.html
vsphere: Allow listing virtual port groups

This has had limited testing and may not be perfect, but in the current
situation loading a DistributedVirtualPortgroup into the model will die
because the backing has no property network.
[Rackspace|Compute] updated ready method on Image to raise an exception if an error state occurs. This is similar to the behavior of Server.
Merge pull request #1471 from rackspace/image_ready

[Rackspace|Compute] updated ready method on Image
Merge branch 'master' of https://github.com/fog/fog into bb6d1b7b70b8fc1a47cbfc1d2021d2008be6e39d
[rackspace] updated Rackspace to return a list of all services
Merge pull request #1472 from rackspace/fix_rackspace_bin

[rackspace] updated Rackspace to return a list of all services
[ecloud|compute] Fixes ecloud server tests

Fixes regression in #1473, attempting to create an Elcoud service
connection even when tests should not run fails due to missing
credentials.
[Rackspace|Compute] fixed issue with bootstrap method where server was ready, but it had not received an ipv4 address yet. Added check for ip address in server ready block as well as a timeout parameter
Merge branch 'master' of github.com:fog/fog into rackspace_bootstrap
adds support for bucket transitioning/fixes bucket lifecycle management
[vsphere|compute] Reverts change of connection

As raised https://github.com/fog/fog/commit/e8630a00831cc17d61d48af9501773002dccc165#commitcomment-2445605
Merge pull request #1476 from estonfer/bucket_lifecycle

adds support for bucket transitioning/fixes bucket lifecycle management
Fix case where invalid CDN endpoint was causing issues.
Merge pull request #16 from SDK-CLI-Docs/feature/214_fix_bad_cdn_endpoint_issue

Fix case where invalid CDN endpoint was causing issues.
Merge pull request #1447 from mjblack/bb6d1b7b70b8fc1a47cbfc1d2021d2008be6e39d

vSphere vm_clone static ip customization
Adding describe_reserved_cache_nodes.rb
'
'
Added Tests for Elasticache Reservations
Adding Google Compute Engine driver
Updating create server behaviour and defaults