Avoid sending redundant ROUTE_REMOVED event when deleting a unresolved route

ROUTE_REMOVED is already sent when the state trasits from RESOLVED to UNRESOLVED/INITIAL.
Not necessary to send it again when trasiting from UNRESOLVED to INITIAL.

Also fix bugs
- next hop is erased when updating route that is exactly the same as before
- duplicated log messages when withdrawing routes

Change-Id: I7d60081b83fc2063e451b346ba477330e88bdc28
diff --git a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java b/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java
index acca731..c266de0 100644
--- a/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java
+++ b/incubator/net/src/main/java/org/onosproject/incubator/net/routing/impl/RouteManager.java
@@ -196,7 +196,7 @@
     public void withdraw(Collection<Route> routes) {
         synchronized (this) {
             routes.forEach(route -> {
-                log.debug("Received withdraw {}", routes);
+                log.debug("Received withdraw {}", route);
                 routeStore.removeRoute(route);
             });
         }