Check for required icon themes.

We can use either gnome or mate icon theme but we need one.
Add icon theme requirements
Functions: Implement our own which logic in have() function.

On distributions sbin is usually not in the users PATH and we fail
to detect dhcpd(3) and/or dnsmasq.

The have() function now uses our own which implmentation and
adds both /sbin and /usr/sbin when reading PATH. It will now return
the the full path when found or None if not.

Also update NetConf.py to use the updated have() function.
Support both dhcpd and dhcpd3.
Add back import for Popen

Accidentally removed in ce13c7d6203325a80859cac5475ad45497eb1eb6
NetConf.py: import have from Functions

Forgot to commit..
NetUsage: Replace forgotten call to ListAdapters()
Implement service classes

Fixes blueman-assistant for BlueZ 5 (#13)
Fixes RecentConns for BlueZ 5 (#13)
TODO: Fixes serial services for BlueZ 5 (#13) (Currently breaks serial services for BlueZ 4 :wink:)