Call `udevadm trigger` before scanning devices

Device symlinks are setup by a usermode helper on Linux. It has been
observed that they can fall out of sync with actual devices. This has
the unpleasant effect of having devices be renamed. This patch is an
attempt to resolve that by invoking udevadm to generate the required
symlinks before scanning for devices on systems that use it.

Signed-off-by: Richard Yao <ryao@gentoo.org>
What happens if fork() fails?