CAR-1368: Add utility function for calling python functions with a timeout

Signed-off-by: Robert Breker <robert.breker@citrix.com>
CAR-1368: Enable online expansion of LVHDxSRs

Attempt to expand the size of LVHDxSRs by growing into additional available
space, if extra space exists on the backing device during sr-attach of the
master or sr-scan.

If the master detects that the LUN has been resized, it will synchronize
with the slaves. If all nodes succeed to refresh the size of the LUN, the
master will go ahead and resize the PV.

This commit superseeds the limited undocumented functionality to expand LVHDxSRs
which we had before. The master used to do the resize after a reboot during
sr-attach. Pool members needed to be rebooted after the master as there was no
synchronzation between pool nodes.

Signed-off-by: Robert Breker <robert.breker@citrix.com>
CAR-1368: Add utility functions for refreshing LUN sizes to scsiutil

refresh_lun_size_by_SCSIid allows refreshing the size of all devices attached
for the provided SCSIid.
sg_readcap allows querying the current capacity of a LUN directly from the
target instead of the cached value from the kernel.

Signed-off-by: Robert Breker <robert.breker@citrix.com>