permission_broker: Start using patchpanel's ModifyPortRule

Start using patchpanel's ModifyPortRule to make migration
from firewall to the DBus API easier.

This patch:
- added patchpanel DBUS API call method inside port_tracker
- added skeleton method of the API inside patchpanel
- refactor port_tracker and firewall to use DBus var type
  for protocol (TCP and UDP).

BUG=b:160130580
TEST=emerge-rammus system_api patchpanel permission_broker
TEST=FEATURES=test emerge-rammus permission_broker
TEST=USE="asan fuzzer" emerge-atlas permission_broker
TEST=tast run <DUT_IP> platform.Firewall

Cq-Depend: chromium:2291863, chromium:2303739
Change-Id: I7f962950df3f34a825ec9aabd3030395716dc9a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2291864
Commit-Queue: Jason Jeremy Iman <jasongustaman@chromium.org>
Tested-by: Jason Jeremy Iman <jasongustaman@chromium.org>
Reviewed-by: Garrick Evans <garrick@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
diff --git a/patchpanel/manager.h b/patchpanel/manager.h
index a2bb815..5b83543 100644
--- a/patchpanel/manager.h
+++ b/patchpanel/manager.h
@@ -143,6 +143,10 @@
   std::unique_ptr<dbus::Response> OnConnectNamespace(
       dbus::MethodCall* method_call);
 
+  // Handles DBus requests for creating iptables rules by permission_broker.
+  std::unique_ptr<dbus::Response> OnModifyPortRule(
+      dbus::MethodCall* method_call);
+
   void ConnectNamespace(base::ScopedFD client_fd,
                         const patchpanel::ConnectNamespaceRequest& request,
                         patchpanel::ConnectNamespaceResponse& response);