Fix sed replace to get 'hostX:Y' from:
    /sys/devices/pci0000:00/0000:00:0b.0/0000:03:00.0/host0/port-0:0/end_device-0:0/target0:0:0/0:0:0:0
    /sys/devices/pci0000:00/0000:00:15.0/0000:03:00.0/host2/port-2:0/expander-2:0/port-2:0:0/end_device-2:0:0/target2:0:0/2:0:0:0
Closes: #3
Only run udevadm if we actually managed to get a proper 'name'.
If the output from lsscsi contains the word 'expander' (such as 'SAS expander' etc),
then skip everything and get on with the next device in the list.
Might fix #3.
Invert the lsscsi expander check - skip the loop unless found 'disk'.
Match on 'disk|dvd|cd|tape', not just 'disk' for lsscsi output.
If udevadm can't figure out the device name, then use smartctl (with a little
help from ls).
Merge branch 'empty-name-fix' into issue-3
Make sure that the output from smartctl is availible before we try ls.
Add the option '--use-wwn' (not default) to use WWNs instead of Device name
for the 'Device by ID' column.
Header should reflect --use-wwn option.
If we're not getting Device by WWN, we still need to set device_id to
'n/a' for the following test to work.
For serial, get ID_SCSI_SERIAL. If that doesn't exist, then fall back to ID_SERIAL_SHORT.
Script to blink lights on a HD enclosure by chrisrd found at
https://github.com/zfsonlinux/zfs/issues/2375#issuecomment-45689003