libvirt: Get driver type from base image type.

If we are using the raw backend (no cow), we should set the driver
type based on the type of the source image instead of always
using raw.

Calls to to_xml were moved after _create_image so that the image
type could be determined when creating the xml for libvirt.

Fixes bug 1163009

Change-Id: Ic8d5f0ab83d868a42f834d39c0afb64818d7e027
Fix a bad tearDown method in test_quantumv2.py.

Cleanup code runs in LIFO order, so this was calling the mox methods
in the wrong order. Secondly the whole point of addCleanup is to
register code to run as soon as it is known that it should run, vs
tearDown which only runs if setUp succeeds, and doesn't know what
other code completed.

Change-Id: Iff3b91e9d43cc58b667b32cacc4b97b6e0e1f298
Security groups may be unavailable

Currently all missing security group situations are reported as errors
and exceptions. This is not the case - any user requesting a wrong id
or name can cause it and it's not an issue in Nova. A busy system can
generate a large number of those messages causing unnecessarily high
error count.

This change stops reporting this situation as exception in the logs.

Change-Id: Ide856cbbde2db025b0e2def79652cc6c9b00566b
Merge "libvirt: Get driver type from base image type."
Merge "Security groups may be unavailable"
Merge "Fix a bad tearDown method in test_quantumv2.py."
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp