initial merge ruby_vcloud_sdk

Change-Id: I5420e40bae4ed199f732fa0f48a7072a35a30ca3
vcloud_cpi: Fix module separator

Change-Id: Ieae319627b67be34941a5fbdc329791ae4d6e007
vcloud_cpi: Recompose existing vapp to add newly created vapp

 - Redefine recompose_vapp. Add mutex to create_vm to ensure parallel create_vm calls don't collide
 - Manually generate recompose link
 - Power on vm after recompose
 - Fix delete vm
 - Add Link wrapper to custom generate link object
 - retry operations when creating vm
 - sleep between vm recompose operations to allow enough time for db operations to finish

Change-Id: Ia8c5edeedb938f2d0de42cda54176f9557874587
Fix create_vm code path

 - Remove sleep (Check for running tasks instead)
 - Code refactoring to move delete_vm/vapp/template into separate function

Change-Id: I3896ebc354956bb52d9d3c3b9f6faad59d44ce98
Fix disk api for multi vm/vapp

 - Resolve disk by disk_id or Disk object
 - Fix deployment scenario of 1 vm per vapp

Change-Id: I51279b397f6eac6c5b173c467a91e6654eb69841
Delete empty vapp (stub code - default configured to skip delete)

 - vapp doesn't expose necessary action links although operations are valid. so delete_vapp
   is controlled via config flag which is configured by default to skip skipping deleting

Change-Id: Ie9a98039feaee74f33cf21c7fbd4e54149a55b0c
Remove dependency on admin link

Change-Id: Iae1fa3b9ae3d2536f46dfb46b859f4cc821eaacc
Force generate undeploy/remove vapp links to delete empty vapps

Change-Id: Ie71be1bf0e601f8a0a2daf7d697c193730665573
Fix delete deployment failure

 - This was caused due to the disk href attribute being looked up
   belonged to a different namespace

Change-Id: I4a38e9c5ebb27d64162b9a0fa0f7293876529709