Clarify the compute API is_volume_backed_instance method

Update the is_volume_backed_instance to be more robust and
check for volume_id or snapshot_id to see if a block device
mapping is really backed by a cinder volume. As per the blueprint
https://wiki.openstack.org/wiki/BlockDeviceConfig#snapshot_id_and_volume_id
I used the volume_id to do this as seems consistent with the
rest of the tests.

Add unit test to enforce this.

The motivation behind this is that we rely on this method at HP and
the test ServersActionsAllJsonTest.test_server_create_image
in nova.tests.integrated.test_api_samples highlighted weakness in
this method and where it could fail now that every instance has an
associated block device mapping for its root device.

Change-Id: Ia4b623a94d0285d8aeb97e9fd72a63f5f87efe7a
Sync rpc from oslo-incubator.

The most significant change included here is:

6d42ced Remove the amqp_rpc_single_reply_queue option from Havana

Change-Id: I4322a8dbfe9b666cd741c3c520a192296c56cd7b
xenapi: Add configurable BitTorrent URL fetcher

Add configurable torrent URL fetcher for sourcing image torrents.

The code uses entry points to find a "driver" style function.  If no
driver is supplied, the torrent file will continue to be found at:

CONF.xenapi_torrent_base_url + "/" + image_id + ".torrent"

DocImpact

Change-Id: Ib2b90c32a5b2c20dd1863058cf1a523672cf2fb3
Added functionality for nova hooks pass functions

Nova hooks do not pass the function they wrap to the hook
as a parameter. This patch adds an optional parameter to
add_hook which will change the function signatures for pre
and post, enabling hooks to acquire and use information
about the function they are wrapped around.

Additionally adds a unit test for the new hooks in test_hooks.py.

Change-Id: Ie328b2460ef0e063892944c97934c12076ed4979
Imported Translations from Transifex

Change-Id: I73a6082d13d107460fe24e046f6b1656b46b3a39
Merge "Clarify the compute API is_volume_backed_instance method"
Merge "Sync rpc from oslo-incubator."
Merge "xenapi: Add configurable BitTorrent URL fetcher"
Merge "Added functionality for nova hooks pass functions"
Merge "Imported Translations from Transifex"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp