vCloud host-pooling

- This PR enabled the use of the "pooling_api" configuration parameter:
- spec tests for vsphere/vcloud hypervisors
fixes in response to review comments
make vcloud hypervisor code better

- break out pooled vs. non-pooled code
- break up long proceduces
- avoid code duplication
remove race condition upon vm cloning, general cleanup
add retry for failure to find host in pool

- will retry until timeout to grab pooled box for a given host
- raises readable error upon failure to allocated pooled host
pass tasks instead of objectSet to wait_for_tasks
Fix vcloud work to be 1.8 compat