add cloud_init support

those changes allow to optionally pass a user_data string to the vm_action so it it later passed as xml cloud init body for rhev .
the user_data string is parsed as yaml and accepts typical cloud-init content such as the following
```yml
#cloud-config
hostname: HOSTNAME
nicname: NICNAME
netmask: NETMASK
gateway: GATEWAY
ip: IP
dns: 
 - DNS
domain: DOMAIN
password: PASSWORD
```



phone_home is documented at http://cloudinit.readthedocs.org/en/latest/topics/examples.html#call-a-url-when-finished
i grab the data from user_data template and then make it as expected by runcmd in the cloudinit disk ( that s why it appears twice )