Add support for compressing qcow2 snapshots

Fixes bug 1109923

Adds a new configuration option:
    libvirt_snapshot_compression=False (Default)

When set to True and the snapshot output format is qcow2, we pass
the -c option into qemu-img, which enables compression. This patch
also refactors the extract_image function to make construction of
the whole qemu-img command more dynamic.

Change-Id: I7a7ebcf41a91a8a9cb14be79e9bb79c22acb136e
Flags: DocImpact
Use conductor for instance_info_cache_update.

This patch updates the network API to be able to use the conductor API
to be able to update the instance info cache.

A previous commit, 5731852f91c32fe09db541888d3fee9e3139fc43, updated
the compute manager to use this method from conductor when getting
network info.  This patch builds on that by moving the conductor usage
down to the network API and using it in more places.  Specifically, the
network API calls used by the compute manager that use the refresh_cache
decorator were updated.

The refresh_cache decorator now checks for a conductor_api kwarg and
will use the conductor to update the cache if it's not there.  Otherwise
it goes back to default behavior of using the db directly.

Change-Id: Ib5e17f5f8fb4ee14e3ed305057d18d40f2e905e5
Fixes FloatingIPDNS extension 'show' method.

Changes the 'show' method to also work when 'id' is actually
an IP and calls the right method to return a list of DNS entries
for a given domain and IP when the called method is
'v2/{tenant_id}/os-floating-ip-dns/{domain}/entries/{ip}'.

Fixes bug 1089410

Change-Id: I4c424e091209624324754c548e55bbbb304cf79f
Fixes unhandled exception in detach_volume

* Fixes the use case where an exception should have been raised when libvirtd
goes down and a volume is being detached.
* Added unit tests for detach_volume, but skipped one unit test for compute
cells as it is giving an error (TypeError: detach_volume() takes exactly
3 arguments (4 given))

Fixes bug #1101079
Change-Id: I6d83947a0344c5f2d91014de6a2052a881198bb4
Merge "Fixes unhandled exception in detach_volume"
Merge "Fixes FloatingIPDNS extension 'show' method."
Merge "Use conductor for instance_info_cache_update."
Merge "Add support for compressing qcow2 snapshots"
Merge remote-tracking branch 'citrix/master' into build-temp