Adding support for MatchAction to FlowPusher

Also, refacted MatchActionComponent to use the new API

Change-Id: I227ed178ab56e370d5c970d7d88df9408e261ff7
diff --git a/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java b/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java
index 1026855..f11b0b1 100644
--- a/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java
+++ b/src/main/java/net/onrc/onos/core/flowprogrammer/IFlowPusherService.java
@@ -5,6 +5,7 @@
 import net.floodlightcontroller.core.internal.OFMessageFuture;
 import net.floodlightcontroller.core.module.IFloodlightService;
 import net.onrc.onos.core.intent.FlowEntry;
+import net.onrc.onos.core.matchaction.MatchActionOperationEntry;
 import net.onrc.onos.core.util.Dpid;
 
 import org.apache.commons.lang3.tuple.Pair;
@@ -135,6 +136,22 @@
                        MsgPriority priority);
 
     /**
+     * Create a message from MatchAction and add it to the queue of the switch
+     * with normal priority.
+     *
+     * @param matchActionOp MatchAction to use
+     */
+    void pushMatchAction(MatchActionOperationEntry matchActionOp);
+
+    /**
+     * Create messages for a collection of MatchActions and add them to the
+     * appropriate queue.
+     *
+     * @param matchActionOps Collection of MatchAction to use
+     */
+    void pushMatchActions(Collection<MatchActionOperationEntry> matchActionOps);
+
+    /**
      * Set sending rate to a switch.
      * <p/>
      * TODO The rate limiter function currently does not work as we are unable