fix provider loading and unloading issue

Change-Id: If10ec427dc7be6b4609eb1ac4955f228274e6742
diff --git a/core/api/src/main/java/org/onlab/onos/net/provider/AbstractProviderRegistry.java b/core/api/src/main/java/org/onlab/onos/net/provider/AbstractProviderRegistry.java
index d59bfd2..35aed74 100644
--- a/core/api/src/main/java/org/onlab/onos/net/provider/AbstractProviderRegistry.java
+++ b/core/api/src/main/java/org/onlab/onos/net/provider/AbstractProviderRegistry.java
@@ -62,6 +62,9 @@
             ((AbstractProviderService) service).invalidate();
             services.remove(provider.id());
             providers.remove(provider.id());
+            if (!provider.id().isAncillary()) {
+                providersByScheme.remove(provider.id().scheme());
+            }
         }
     }