dont compare devids when we dont have a devid to compare with. DEVID_CMP now evaluates to false if the devids are NULL.
dont compare devids when we dont have a devid to compare with.
DEVID_CMP now evaluates to false if the devids are NULL.

some stupid devices dont understand luns, so we have code that
detects when the device at lun 0 also appears at luns 1, 2, 3, and
so on. this check is short circuited if the devices report different
devids. no devids isnt the same as different devids though.

found by okan@ on ciss (which currently ignores luns).
tested by krw@ marco@ johan@ okan@
ok krw@ marco@

orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars,orumin/openbsd-efivars