Created a firewall chain for power save mode.

When power-save mode was first implemented, there were no firewall rules
on netd, so the solution was to make all network interface metered and
re-use the bw_penalty_box chain.

This change removes that workaround by creating a explicit fw_powersave
chain, whose behavior is similar to fw_dozable (in fact, it reuses some
of its code); such change not only makes network restrictions on
power-save mode simpler, but it also allows to optimze how the restrict
network rules are changed.

BUG: 27127112
Change-Id: I52aee49d80386594e3a52fea9667d580d2d944a1
diff --git a/server/FirewallController.h b/server/FirewallController.h
index 34a8b9c..909e765 100644
--- a/server/FirewallController.h
+++ b/server/FirewallController.h
@@ -26,7 +26,7 @@
 
 enum FirewallType { WHITELIST, BLACKLIST };
 
-enum ChildChain { NONE, DOZABLE, STANDBY, INVALID_CHAIN };
+enum ChildChain { NONE, DOZABLE, STANDBY, POWERSAVE, INVALID_CHAIN };
 
 #define PROTOCOL_TCP 6
 #define PROTOCOL_UDP 17
@@ -64,6 +64,7 @@
 
     static const char* LOCAL_DOZABLE;
     static const char* LOCAL_STANDBY;
+    static const char* LOCAL_POWERSAVE;
 
     static const char* ICMPV6_TYPES[];