Cache interface indices in case interfaces go away.

Without caching them netd will fail to remove rules and routes,
for example, when the Bluetooth reverse-tether interface ("bt-pan")
goes away.

bug:15407087

Change-Id: I99fcf00f9645a0b029455516a705b70110f62ff6
diff --git a/server/NetworkController.cpp b/server/NetworkController.cpp
index a32dd67..f5739e9 100644
--- a/server/NetworkController.cpp
+++ b/server/NetworkController.cpp
@@ -250,17 +250,17 @@
     }
 
     Permission permission = mPermissionsController->getPermissionForNetwork(netId);
-    if (!mRouteController->removeInterfaceFromNetwork(netId, interface, permission)) {
-        ALOGE("failed to remove interface %s from netId %u", interface, netId);
-        status = false;
-    }
-
     if (netId == getDefaultNetwork() &&
             !mRouteController->removeFromDefaultNetwork(interface, permission)) {
         ALOGE("failed to remove interface %s from default netId %u", interface, netId);
         status = false;
     }
 
+    if (!mRouteController->removeInterfaceFromNetwork(netId, interface, permission)) {
+        ALOGE("failed to remove interface %s from netId %u", interface, netId);
+        status = false;
+    }
+
     return status;
 }