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/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,