Fix nova-compute start issue after evacuate

After evacuated successfully, and restarting the failed
host to get it back, Nova will call init_host() and then
call method _destroy_evacuated_instances(). In method
_destroy_evacuated_instances(), nova will check again if
the storage is shared or not to decide if the storage
should be destroyed. Now nova is using temp file to check
if it's shared file system, but it's wrong for RBD case.
So Nova will attempt to delete the shared block storage,
which will fail since it's used by the new instance. This
patch fixes this issue and adds test cases for that.

Closes-Bug: 1385484

Conflicts:
        nova/tests/virt/libvirt/test_libvirt.py

Change-Id: I71bb818f3c2930b3a2ddf1817dfd4bb61fae7e98
(cherry picked from commit 296d92bd44d1b8eb161f94f70cba5db4d17f8f65)
(cherry picked from commit ce1d1dd3dda0097d97f0b23b01d18dc1e3a9569a)
Merge "Fix nova-compute start issue after evacuate" into stable/icehouse