Added DistributedPrimitive interface
Added AsyncDistributedSet that provides async set operations

Change-Id: I83494075a7973694ea6b7445ff4799b7a1a50641
diff --git a/core/api/src/test/java/org/onosproject/store/service/ConsistentMapAdapter.java b/core/api/src/test/java/org/onosproject/store/service/ConsistentMapAdapter.java
index a7a6ce8..ba9cfc2 100644
--- a/core/api/src/test/java/org/onosproject/store/service/ConsistentMapAdapter.java
+++ b/core/api/src/test/java/org/onosproject/store/service/ConsistentMapAdapter.java
@@ -26,6 +26,17 @@
  * Testing adapter for the consistent map.
  */
 public class ConsistentMapAdapter<K, V> implements ConsistentMap<K, V> {
+
+    @Override
+    public String name() {
+        return null;
+    }
+
+    @Override
+    public DistributedPrimitive.Type type() {
+        return DistributedPrimitive.Type.CONSISTENT_MAP;
+    }
+
     @Override
     public int size() {
         return 0;
diff --git a/core/api/src/test/java/org/onosproject/store/service/EventuallyConsistentMapAdapter.java b/core/api/src/test/java/org/onosproject/store/service/EventuallyConsistentMapAdapter.java
index 07f5fb4..1f4af9e 100644
--- a/core/api/src/test/java/org/onosproject/store/service/EventuallyConsistentMapAdapter.java
+++ b/core/api/src/test/java/org/onosproject/store/service/EventuallyConsistentMapAdapter.java
@@ -20,10 +20,23 @@
 import java.util.Set;
 import java.util.function.BiFunction;
 
+import org.onosproject.store.service.DistributedPrimitive.Type;
+
 /**
  * Testing adapter for EventuallyConsistentMap.
  */
 public class EventuallyConsistentMapAdapter<K, V> implements EventuallyConsistentMap<K, V> {
+
+    @Override
+    public String name() {
+        return null;
+    }
+
+    @Override
+    public Type type() {
+        return Type.EVENTUALLY_CONSISTENT_MAP;
+    }
+
     @Override
     public int size() {
         return 0;
diff --git a/core/api/src/test/java/org/onosproject/store/service/TestAtomicCounter.java b/core/api/src/test/java/org/onosproject/store/service/TestAtomicCounter.java
index 8c577df..337c090 100644
--- a/core/api/src/test/java/org/onosproject/store/service/TestAtomicCounter.java
+++ b/core/api/src/test/java/org/onosproject/store/service/TestAtomicCounter.java
@@ -23,6 +23,16 @@
 public final class TestAtomicCounter implements AtomicCounter {
     final AtomicLong value;
 
+    @Override
+    public String name() {
+        return null;
+    }
+
+    @Override
+    public Type type() {
+        return Type.COUNTER;
+    }
+
     private TestAtomicCounter() {
         value = new AtomicLong();
     }
diff --git a/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java b/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java
index 57b36ab..4133095 100644
--- a/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java
+++ b/core/api/src/test/java/org/onosproject/store/service/TestConsistentMap.java
@@ -28,7 +28,7 @@
 import java.util.stream.Collectors;
 
 import org.onosproject.core.ApplicationId;
-import static org.onosproject.store.service.MapEvent.Type;
+
 import static org.onosproject.store.service.MapEvent.Type.*;
 
 /**
@@ -37,7 +37,7 @@
 public final class TestConsistentMap<K, V> extends ConsistentMapAdapter<K, V> {
 
     private final List<MapEventListener<K, V>> listeners;
-    private final HashMap<K, V> map;
+    private final Map<K, V> map;
     private final String mapName;
     private final AtomicLong counter = new AtomicLong(0);
 
@@ -54,7 +54,7 @@
     /**
      * Notify all listeners of an event.
      */
-    private void notifyListeners(String mapName, Type type,
+    private void notifyListeners(String mapName, MapEvent.Type type,
                                  K key, Versioned<V> value) {
         MapEvent<K, V> event = new MapEvent<>(mapName, type, key, value);
         listeners.forEach(