universal-cp: Avoid find_device() recursion when possible

This should limit the massive processor usage in busy networks, as
the old implementation recursed into every service, state variable
and method. This patch only recurses into sub-devices.

https://bugzilla.gnome.org/show_bug.cgi?id=723172