nova CCI metadata / user-data / personality cloud-init mitigation

As I'm sure you guys know, OpenStack nova compute supports the ability
to pass through the following data on a boot VM call:

* User Data http://docs.openstack.org/user-guide/content/user-data.html
* Arbitrary key/value pairs as metadata
http://docs.openstack.org/grizzly/openstack-compute/admin/content/instance-data.html
* Server personality
http://docs.openstack.org/api/openstack-compute/2/content/Server_Personality-d1e2543.html

In an OpenStack proper environment such "metadata" is typically realized
using something like Cloud-Init + Config Drive
(http://cloudinit.readthedocs.org/en/latest/topics/datasources.html#config-drive).

In SoftLayer we obviously have the CCI user metadata service to pass
arbitrary data through and make it accessible to a CCI. However, to the
best of my knowledge there is no support integrating Cloud-Init +
SoftLayer CCI user metadata. This leaves us with a gap in the SoftLayer
/ nova compute space -- how to realize nova metadata customization on a
CCI via Jumpgate.

To me an ideal solution would be to implement a datasource
(http://cloudinit.readthedocs.org/en/latest/topics/datasources.html)
provider for Cloud-Init which is compatible with SoftLayer's CCI user
metadata. However such an implementation is likely a bit of work.

As a mitigation I have implemented a simple 'cci_init' python script
which can realize all 3 flavors of nova metadata in it's simplest form
-- it realizes raw metadata but does not support any "active
capabilities" of Cloud-Init. We have been using this cci_init in our
SoftLayer RDS implementation and thus I feel it provides a stopgap for
some of the metadata functionality in the nova / Jumpgate space.
reduce json rest client class into function + fix flake8 issues
fix cci_init user_data and metadata bugs
Merge pull request #62 from bodenr/bodenr/cci-init

nova CCI metadata / user-data / personality cloud-init mitigation
Allowing proxy as a config option

Proxy was not part of config setting for SL driver. Allowing it so that
users behind proxy can use it.
Merge pull request #65 from amol/proxy

Allowing proxy as a config option
add is_public and owner attrs to image details dict

for openstack compatibility purposes, image details response json needs
to include the 'is_public' and 'owner' attributes. without these atts
set some client side consumers break. this PR adds those attrs to the
image details dict.
additional image attrs required by client side consumers
style - single quotes on min_disk
additional image property updates including min_ram
Merge pull request #70 from bodenr/bodenr/image-props

updates to image attributes