Openstack: Vendor data cleanup

For now, this vendor data handling is just added to openstack.
However, in an effort to allow sanely handling of multi-part vendor-data
that is namespaced, we add openstack.convert_vendordata_json .

That basically takes whatever was loaded from vendordata and takes
the 'cloud-init' key if it is a dict.  This way the author can
namespace cloud-init, basically telling it to ignore everything else.
when loading vendordata allow it to be string or list
merge from trunk
OpenStack: fix consumption of vendor-data to allow namespacing

Not all vendor data is destined for cloud-init.  This sanely reads
the vendor data as a dict, array or a string.