Changes to make unbound work more seamlessly

When updating config settings affecting DNS (dnsmasq host overrides, DHPC reservations, etc), the unbound config is automatically reset as needed. Also several places were only checking if dnsmasq was enabled, this also detects if an alternate dns provider like unbound is enabled instead.

Added notion of system services to package configuration files so packages can advertise system-wide services provided, like 'dns' (which unbound now does).
Changed detection of dnsmasq being enabled to is_dns_enabled() and dnsmasq config settings to is_dns_option_set() which also checks for packages advertising the dns system service.
Changed calls to services_dnsmasq_configure() to services_dns_configure() which reconfigures dnsmasq or the enabled package advertising the dns system service as needed.