Optimized group updating during host move

In addition,
- Added a fix for host remove issue
- Added a fix for single homed (loc1) to dual homed (loc2).

Change-Id: I1a7344bd77f73d6bed8955dcdbf407b5354d0eee
diff --git a/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java b/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
index b864a08..3631e15 100644
--- a/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
+++ b/app/src/main/java/org/onosproject/segmentrouting/RoutingRulePopulator.java
@@ -453,7 +453,7 @@
           // if the objective is to revoke an existing rule, and for some reason
           // the next-objective does not exist, then a new one should not be created
           nextObjId = srManager.getMacVlanNextObjectiveId(deviceId, hostMac, hostVlanId,
-                                          tbuilder.build(), mbuilder.build(), !revoke);
+                                          outPort, !revoke);
         }
         if (nextObjId == -1) {
             // Warning log will come from getMacVlanNextObjective method