Improve shared storage checks for live migration

Due to an assumption that libvirt live migrations work only when both
instance path and disk data is shared between source and destination
hosts (e.g. libvirt instances directory is on NFS), instance disks are
removed from shared storage when instance path is not shared (e.g. Ceph
RBD backend is enabled).

Distinguish cases that require shared instance drive and shared libvirt
instance directory. Reflect the fact that RBD backed instances have
shared instance drive (and no shared libvirt instance directory) in the
relevant conditionals.

UpgradeImpact: Live migrations from or to a compute host running a
version of Nova pre-dating this commit are disabled in order to
eliminate possibility of data loss. Upgrade Nova on both the source and
the target node before attempting a live migration.

Closes-bug: 1250751
Closes-bug: 1314526
Co-authored-by: Ryan Moe <rmoe@mirantis.com>
Co-authored-by: Yaguang Tang <yaguang.tang@canonical.com>
Signed-off-by: Dmitry Borodaenko <dborodaenko@mirantis.com>
Change-Id: I2755c59b4db736151000dae351fd776d3c15ca39
Merge "Improve shared storage checks for live migration"