libudev: set errno properly in all error conditions of udev_device_new_from_syspath()
rfkill: rework how we generate file names from rfkill devices

Generate the file name from ID_PATH plus the rfkill type (wlan,
bluetooth, ...) and ignore the rfkill device name, since it apparently
is not a stable identifier.

Also, ensure that devices disappearing don't result in broken services,
simply exit cleanly.