Revert "libvirt: reworks configdrive creation"

This reverts commit 228d0221763b12f11ecbacde4db38b1151f96e31.

This commit introduced bug 1369627 (a security vulnerability), as
well as misunderstanding how our image caching works for libvirt.
I think we can achieve the same thing in a much simpler manner.

Change-Id: I7ede9b0f77710869197d9b48c6dd6bbc3087738c
Revert "libvirt: Uses correct imagebackend for configdrive"

This reverts commit 0b01e846d40f3b343da9ebe1dae89cca8bc2ac66.

We  should not be adding instance specific disks with configuration
information like passwords into a shared cache. I think this is the
wrong way of moving the config drive disk image into an arbitrary
backend store.

Change-Id: I1376ef5f3fcbd66d916ff9442efea0f756dd42da
Revert "libvirt: support live migrations of instances with config drives"

This reverts commit ecce888c469c62374a3cc43e3cede11d8aa1e799.

Using the image cache is the wrong way to move an image into the same
storage as other instance disks. We should just call into the relevant
backend store directly.

Change-Id: Id867b89d959c26d067cb06b52a496e2b98573289
Handle config drives being stored on rbd

rbd is the only example of a currently supported image storage
backend where it makes sense to put the config drive in the
configured storage backend instead of local hypervisor disk.
Support this special case by moving the image to rbd once it has
been created in the local instance directory on the hypervisor.

I've tested this change in devstack and it works.

Change-Id: Ia3ca5a18c79d62b71b9c042a612d12dd074b245e
Closes-bug: #1369627
Closes-bug: #1361840