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

Change-Id: I56cef62673fabc54ca29634c27e4ff1f41ba6a88
diff --git a/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java b/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java
index f69a1d3..abdb14d 100644
--- a/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java
+++ b/core/api/src/main/java/org/onosproject/store/service/DistributedPrimitive.java
@@ -64,6 +64,8 @@
         LEADER_ELECTOR
     }
 
+    static final long DEFAULT_OPERTATION_TIMEOUT_MILLIS = 5000L;
+
     /**
      * Returns the name of this primitive.
      * @return name