Fix UnboundLocalError in powervm lvm cleanup code

During spawn, if a local volume for the backing block device fails to
be created, the cleanup operation for the volume can fail with a
"UnboundLocalError: local variable 'disk_name' referenced before
assignment" error.

The fix is to assign to disk_name earlier and check for None before
running cleanup.

This patch also adds tests to cover the failure case.

Fixes bug 1180955

Change-Id: I0f32df1586d7bd87eccb674fec2a9597b1ce351d
Merge "Fix UnboundLocalError in powervm lvm cleanup code"
Merge remote-tracking branch 'm_src_repo/citrix-fixes' into build-temp