Updated mfwd delete behavior and fixed some small bugs

Change-Id: Id354a88507e94b83fd0007c084cdbf35093bbd1a
diff --git a/apps/mfwd/src/main/java/org/onosproject/mfwd/cli/McastDeleteCommand.java b/apps/mfwd/src/main/java/org/onosproject/mfwd/cli/McastDeleteCommand.java
index ae5d9e9..c794c80 100644
--- a/apps/mfwd/src/main/java/org/onosproject/mfwd/cli/McastDeleteCommand.java
+++ b/apps/mfwd/src/main/java/org/onosproject/mfwd/cli/McastDeleteCommand.java
@@ -37,9 +37,32 @@
             required = true, multiValued = false)
     String gAddr = null;
 
+    @Argument(index = 2, name = "egressList",
+            description = "Egress id/port",
+            required = false, multiValued = true)
+    String[] egressList = null;
+
+
     @Override
     protected void execute() {
+
+        boolean deleted = false;
         McastRouteTable mrib = McastRouteTable.getInstance();
-        mrib.removeRoute(sAddr, gAddr);
+
+        if (egressList == null) {
+            mrib.removeRoute(sAddr, gAddr);
+            deleted = true;
+        } else {
+            // check list for validity before we begin to delete.
+            for (String egress : egressList) {
+                deleted = mrib.removeEgress(sAddr, gAddr, egress);
+            }
+        }
+
+        if (deleted) {
+            print("Successful delete");
+        } else {
+            print("Failed to delete");
+        }
     }
-}
\ No newline at end of file
+}