Support for a distributed counter

Change-Id: I346e9baa28556fac13e53771021f5f6fbcd75ac9
diff --git a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
index 6685dde..5f955fd 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/consistent/impl/DatabaseState.java
@@ -17,6 +17,7 @@
 package org.onosproject.store.consistent.impl;
 
 import java.util.Collection;
+import java.util.Map;
 import java.util.Map.Entry;
 import java.util.Set;
 
@@ -46,6 +47,9 @@
   Set<String> tableNames();
 
   @Query
+  Map<String, Long> counters();
+
+  @Query
   int size(String tableName);
 
   @Query
@@ -94,6 +98,12 @@
   Result<Boolean> replace(String tableName, K key, long oldVersion, V newValue);
 
   @Command
+  Long nextValue(String counterName);
+
+  @Query
+  Long currentValue(String counterName);
+
+  @Command
   boolean prepareAndCommit(Transaction transaction);
 
   @Command