Handle volume bdm not found in lvm.get_volume_size

We're stack tracing in successful gate runs because of a race when
deleting an instance and when the update_available_resource periodic
task is running.

When we hit the race, the volume that's backing the instance is deleted
and the periodic task (virt driver) is trying to get the current
information about the volume, which no longer exists and we fail and
short-circuit the update_available_resource task.

This change adds a decorator which checks if a ProcessExecutionError is
due to the device no longer existing and if so, raises
VolumeBDMPathNotFound, and applies that decorator to the get_volume_size
method.

Related-Bug: #1371677

Change-Id: Ic452df82c61087efda8d742e030076421c0c813b
Handle VolumeBDMPathNotFound in _get_disk_over_committed_size_total

This handles the VolumeBDMPathNotFound error bubbling up from
_get_instance_disk_info during the update_available_resource periodic
task.

Related-Bug: #1371677

Change-Id: I10c20f3f5f96003fe69fcdc9133c661e6dc009b4
Merge "Handle volume bdm not found in lvm.get_volume_size"
Merge "Handle VolumeBDMPathNotFound in _get_disk_over_committed_size_total"