Move all devd notification business logic to a separate file.
It serves multiple purposes. First, it establishes clear interface between devd and other subsystems, allowing all sides to evolve independently.
Second, it paves the way fir different provides of userland notifications, such as netlink, to propagate these notifications to userland.