Performance improvement when handling host move events

- Avoid querying shouldProgram every time
- Override flows directly instead of remove and add
- Remove unnecessary event handling delay since we have in-order execution now
- Avoid re-initiation of shouldProgram
- Make sure executors are shut down during SR deactivation

Change-Id: I28e383ed2dcb66d503da25934456008e83683b78
diff --git a/app/src/test/java/org/onosproject/segmentrouting/RouteHandlerTest.java b/app/src/test/java/org/onosproject/segmentrouting/RouteHandlerTest.java
index bdf056e..a727e67 100644
--- a/app/src/test/java/org/onosproject/segmentrouting/RouteHandlerTest.java
+++ b/app/src/test/java/org/onosproject/segmentrouting/RouteHandlerTest.java
@@ -170,13 +170,7 @@
         srManager.cfgService = mockNetworkConfigRegistry;
         srManager.routeService = new MockRouteService(ROUTE_STORE);
 
-        routeHandler = new RouteHandler(srManager) {
-            // routeEventCache is not necessary for unit tests
-            @Override
-            void enqueueRouteEvent(RouteEvent routeEvent) {
-                dequeueRouteEvent(routeEvent);
-            }
-        };
+        routeHandler = new RouteHandler(srManager);
 
         ROUTING_TABLE.clear();
         BRIDGING_TABLE.clear();