libvirt: Save device_path in connection_info when booting from volume

If you boot an instance from a volume and later terminate it, the
libvirt volume driver disconnect_volume method does not have the
'device_path' key in connection_info['data'].  However, if you
attach a volume to an existing instance and then detach it,
the disconnect_volume method would have the 'device_path' key in
connection_info['data'].  Having the 'device_path' key would be
useful for some volume drivers to determine the device path of the
volume.  This patch saves the 'device_path' in connection_info['data']
when _create_domain_and_network is called, so it could be later used.

This commit also adjusts unit test to pass the check test.

Change-Id: I8ebb5f3c2e7a81b11d776f8c0a15f3491ed273be
Closes-Bug: #1291007
(cherry picked from commit d19c75c19d2de8b20e82e6de9413ba53671ad7fb)
Fix live-migration failure in FC multipath case

Currently, /dev/dm-<NUM> instead of /dev/mapper/<multipath_id> is
used to access multipath FC volumes by Compute Node and
multipath_id in connection_info is not maintained properly and
may be lost during connection refreshing.

This implementation will make source Compute Node and destination
Compute Node fail to disconnect/connect to volumes properly and
result in live-migration failure.

To fix it, /dev/mapper<multipath_id> will be used instead of
/dev/dm-<NUM> to access multipath devices, just like iSCSI multipath
implementation, and logic to preserve the unique (across Compute
Nodes) multipath_id is also added.

Closes-Bug: #1327497
(cherry picked from commit 3ea14e8a70a946dbb162ecafa848e4f2fa29772a)

Conflicts:
	nova/storage/linuxscsi.py
	nova/tests/virt/libvirt/test_libvirt_volume.py
	nova/virt/block_device.py
	nova/virt/libvirt/volume.py

This backport commit adjust oslo.i18n usage to oslo-incubator common code,
due to we didn't have oslo.i18n in icehouse.
And remove unused  variable value dev_str in test_libvirt_volume.py,
it should be deleted but not worth a specific commit in stable/icehouse.

Change-Id: I17f15852c098af88afd270084c62eb87693c60d4
Merge "libvirt: Save device_path in connection_info when booting from volume" into stable/icehouse
Merge "Fix live-migration failure in FC multipath case" into stable/icehouse