loxi-prep: use plain lists to hold OF actions

Some callsites needed to be changed because they depended on action_list.append
taking a shallow copy.
diff --git a/tests/flow_query.py b/tests/flow_query.py
index ee72fc3..2d5c7b5 100644
--- a/tests/flow_query.py
+++ b/tests/flow_query.py
@@ -69,7 +69,6 @@
 import oftest.controller  as controller
 import ofp
 import oftest.dataplane   as dataplane
-import oftest.action_list as action_list
 import oftest.parse       as parse
 import pktact
 import oftest.base_tests as base_tests
@@ -333,7 +332,7 @@
     # - idle_timeout
     # - hard_timeout
     # - priority
-    # - action_list
+    # - actions
 
     def __init__(self):
         self.priority        = 0
@@ -341,7 +340,7 @@
         self.match.wildcards = ofp.OFPFW_ALL
         self.idle_timeout    = 0
         self.hard_timeout    = 0
-        self.actions         = action_list.action_list()
+        self.actions         = []
 
     # {pri, match} is considered a flow key
     def key_equal(self, x):
@@ -396,8 +395,8 @@
         if test_param_get("conservative_ordered_actions", True):
             # Compare actions lists as unordered
             
-            aa = copy.deepcopy(x.actions.actions)
-            for a in self.actions.actions:
+            aa = copy.deepcopy(x.actions)
+            for a in self.actions:
                 i = 0
                 while i < len(aa):
                     if a == aa[i]:
@@ -473,7 +472,7 @@
         result = result + (", cookie=%d" % self.cookie)
         result = result + (", idle_timeout=%d" % self.idle_timeout)
         result = result + (", hard_timeout=%d" % self.hard_timeout)
-        for a in self.actions.actions:
+        for a in self.actions:
             result = result + (", action=%s" % ofp.ofp_action_type_map[a.type])
             if a.type == ofp.OFPAT_OUTPUT:
                 result = result + ("(%d)" % (a.port))
@@ -519,7 +518,7 @@
 
         set_vlanf   = False
         strip_vlanf = False
-        self.actions = action_list.action_list()
+        self.actions = []
         for a in actions:
             act = None
             if a == ofp.OFPAT_OUTPUT:
@@ -627,7 +626,7 @@
 
         actions = shuffle(actions)
 
-        self.actions = action_list.action_list()
+        self.actions = []
         for a in actions:
             if a == ofp.OFPAT_OUTPUT:
                 # TBD - Output actions are clustered in list, spread them out?
diff --git a/tests/pktact.py b/tests/pktact.py
index 9e81af6..bd3e79f 100644
--- a/tests/pktact.py
+++ b/tests/pktact.py
@@ -501,7 +501,6 @@
         match.wildcards &= ~ofp.OFPFW_IN_PORT
         self.assertTrue(match is not None, 
                         "Could not generate flow match from pkt")
-        act = ofp.action.output()
 
         for idx in range(len(of_ports)):
             delete_all_flows(self.controller)
@@ -518,10 +517,8 @@
             request = ofp.message.flow_mod()
             request.match = match
             request.buffer_id = 0xffffffff
-            act.port = egress_port1
-            request.actions.append(act)
-            act.port = egress_port2
-            request.actions.append(act)
+            request.actions.append(ofp.action.output(port=egress_port1))
+            request.actions.append(ofp.action.output(port=egress_port2))
             # logging.info(request.show())
 
             logging.info("Inserting flow")
@@ -559,7 +556,6 @@
         match.wildcards &= ~ofp.OFPFW_IN_PORT
         self.assertTrue(match is not None, 
                         "Could not generate flow match from pkt")
-        act = ofp.action.output()
 
         for ingress_port in of_ports:
             delete_all_flows(self.controller)
@@ -574,8 +570,7 @@
             for egress_port in of_ports:
                 if egress_port == ingress_port:
                     continue
-                act.port = egress_port
-                request.actions.append(act)
+                request.actions.append(ofp.action.output(port=egress_port))
             logging.debug(request.show())
 
             logging.info("Inserting flow")
@@ -611,7 +606,6 @@
         match.wildcards &= ~ofp.OFPFW_IN_PORT
         self.assertTrue(match is not None, 
                         "Could not generate flow match from pkt")
-        act = ofp.action.output()
 
         for ingress_port in of_ports:
             delete_all_flows(self.controller)
@@ -623,6 +617,7 @@
             request.match = match
             request.buffer_id = 0xffffffff
             for egress_port in of_ports:
+                act = ofp.action.output()
                 if egress_port == ingress_port:
                     act.port = ofp.OFPP_IN_PORT
                 else:
@@ -713,7 +708,6 @@
         match.wildcards &= ~ofp.OFPFW_IN_PORT
         self.assertTrue(match is not None, 
                         "Could not generate flow match from pkt")
-        act = ofp.action.output()
 
         for ingress_port in of_ports:
             delete_all_flows(self.controller)
@@ -724,10 +718,8 @@
             request = ofp.message.flow_mod()
             request.match = match
             request.buffer_id = 0xffffffff
-            act.port = ofp.OFPP_FLOOD
-            request.actions.append(act)
-            act.port = ofp.OFPP_IN_PORT
-            request.actions.append(act)
+            request.actions.append(ofp.action.output(port=ofp.OFPP_FLOOD))
+            request.actions.append(ofp.action.output(port=ofp.OFPP_IN_PORT))
             logging.info(request.show())
 
             logging.info("Inserting flow")
@@ -804,7 +796,6 @@
         match.wildcards &= ~ofp.OFPFW_IN_PORT
         self.assertTrue(match is not None, 
                         "Could not generate flow match from pkt")
-        act = ofp.action.output()
 
         for ingress_port in of_ports:
             delete_all_flows(self.controller)
@@ -815,10 +806,8 @@
             request = ofp.message.flow_mod()
             request.match = match
             request.buffer_id = 0xffffffff
-            act.port = ofp.OFPP_ALL
-            request.actions.append(act)
-            act.port = ofp.OFPP_IN_PORT
-            request.actions.append(act)
+            request.actions.append(ofp.action.output(port=ofp.OFPP_ALL))
+            request.actions.append(ofp.action.output(port=ofp.OFPP_IN_PORT))
             logging.info(request.show())
 
             logging.info("Inserting flow")