Add FirewallD support to networking

The --list-all-zones command gives a sufficient overview of the firewall state, listing all zones (used or not) and their interfaces, plus any services, ports, or rich rules which apply.

It is required to collect --permanent separately, as it is possible to have a different "runtime" state than "permanent" state.

Solves #291.