Update BatchOperation class to be more generic and extensible.

- addAddOperation() and addRemoveOperation() methods are removed
  from BatchOperation class, and now the class has just addOperation() method.

- Removed AddOperation and RemoveOperation classes,
  and defined IntentBatchOperation, FlowBatchOperation and MatchActionPhase classes
  as sub-classes of BatchOperation class, for Intent, IFlow and MatchAction objects
  respectively.

- These classes include definitions of add/remove operators and helper methods
  specific to Intent, IFlow and MatchAction objects.

- Removed BatchOperationTargetId class.

- Updated unit tests.

- This task is a part of ONOS-1692.

Change-Id: Iba2f737af1fef6a6555e0e0166836865ed070fa3
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/IFlowManagerService.java b/src/main/java/net/onrc/onos/api/flowmanager/IFlowManagerService.java
index fcfaacb..efd7b98 100644
--- a/src/main/java/net/onrc/onos/api/flowmanager/IFlowManagerService.java
+++ b/src/main/java/net/onrc/onos/api/flowmanager/IFlowManagerService.java
@@ -3,8 +3,6 @@
 import java.util.Collection;
 import java.util.EventListener;
 
-import net.onrc.onos.api.batchoperation.BatchOperation;
-
 /**
  * An interface class for flow manager. The role of the flow manager is to
  * manage a set of Match-Action entries based on the specified IFlow objects.
@@ -51,10 +49,10 @@
     /**
      * Executes batch operation of IFlow object.
      *
-     * @param ops FlowOperations to be executed
+     * @param ops flow operations to be executed
      * @return true if succeeded, false otherwise
      */
-    boolean executeBatch(BatchOperation<IFlow> ops);
+    boolean executeBatch(FlowBatchOperation ops);
 
     /**
      * Sets a conflict detection policy.