Fix linux double-free with usb_close(). Prob caused by temporarily
assigning *udevp handles to devices we skip and then usb_close(). Don't
assign *udevp till we're sure we're going to return it.