Use config drive in OpenStack

Some OpenStack environment restricts the use of meta-data server (network policies) and injected user files (insecure), allowing only the use of the [config-drive](http://docs.openstack.org/trunk/openstack-compute/admin/content/config-drive.html).

This PR provides a fallback mechanism in the agent in order to get the user-data (contains registry endpoint) and OpenSSH key from the config-drive in case that other methods are not available. It also modifies the OpenStack CPI in order to boot the VM with the config-drive enabled.

This mechanism is similar to what is used by cloud-init (see http://cloudinit.readthedocs.org/en/latest/topics/datasources.html).