Adds abstract distributed primitive builder + Refactored AtomicCounter and AtomicValue builder to make use of it.

Change-Id: I56cef62673fabc54ca29634c27e4ff1f41ba6a88
diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentApplicationIdStore.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentApplicationIdStore.java
index e44a21a..e75a5cb 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentApplicationIdStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentApplicationIdStore.java
@@ -69,7 +69,8 @@
     public void activate() {
         appIdCounter = storageService.atomicCounterBuilder()
                                       .withName("onos-app-id-counter")
-                                      .build();
+                                      .build()
+                                      .asAtomicCounter();
 
         registeredIds = storageService.<String, ApplicationId>consistentMapBuilder()
                 .withName("onos-app-ids")
diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentIdBlockStore.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentIdBlockStore.java
index c6f48a4..3b77c8b 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentIdBlockStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/ConsistentIdBlockStore.java
@@ -69,7 +69,8 @@
                 .computeIfAbsent(topic,
                                  name -> storageService.atomicCounterBuilder()
                                          .withName(name)
-                                         .build());
+                                         .build()
+                                         .asAtomicCounter());
         Long blockBase = Tools.retryable(counter::getAndAdd,
                 StorageException.class,
                 MAX_TRIES,
diff --git a/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java b/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java
index 48817f5..4b2f780 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/core/impl/LogicalClockManager.java
@@ -50,7 +50,8 @@
         atomicCounter = storageService.atomicCounterBuilder()
                                       .withName(SYSTEM_LOGICAL_CLOCK_COUNTER_NAME)
                                       .withPartitionsDisabled()
-                                      .build();
+                                      .build()
+                                      .asAtomicCounter();
         log.info("Started");
     }
 
diff --git a/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java b/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java
index 87b1058..75a9b89 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/flowobjective/impl/DistributedFlowObjectiveStore.java
@@ -68,7 +68,8 @@
 
         nextIds = storageService.atomicCounterBuilder()
                 .withName("next-objective-counter")
-                .build();
+                .build()
+                .asAtomicCounter();
 
         log.info("Started");
     }