Add new ec2 volume db API calls

The existing API calls for the EC2 volume ID mappings only returned
the EC2 ID or the UUID, not the full mapping.  We really want APIs
that return the whole mapping for use with a nova object.  This patch
adds those APIs which will be used by the VolumeMapping nova object.

Change-Id: I86361a557254dbddeae2ea49e986add813e5a934
libvirt: Make `fakelibvirt.libvirtError` match

When test code uses `libvirtError`, it may refer to
`libvirt.libvirtError` or `fakelibvirt.libvirtError` depending on
whether `libvirt-python` is installed.

The existing code had incompatible `__init__` singatures between the
two, meaning that a test could pass locally but fail when run on
Jenkins.

The solution is to make `fakelibvirt.libvirtError` match libvirt 1.2.3
exactly.

A convenience function, `make_libvirtError`, is introduced so that
exceptions can still be created in one shot.

Change-Id: I5aaecc57504c4aea3c049610ef188978c25cfdc4
Closes-Bug: 1305186
Merge "Add new ec2 volume db API calls"
Merge "libvirt: Make `fakelibvirt.libvirtError` match"