[ONOS-4014] Refactor *Id classes to extend from Identifier class

- Refactor most of *Id classes in onos-api package
- Refactor all of *Id classes in incubator package

Change-Id: Ief6322d3fb42c80e82f695e9d4dcee439346215b
diff --git a/core/api/src/main/java/org/onosproject/store/primitives/TransactionId.java b/core/api/src/main/java/org/onosproject/store/primitives/TransactionId.java
index 21cf24b..c47de8b 100644
--- a/core/api/src/main/java/org/onosproject/store/primitives/TransactionId.java
+++ b/core/api/src/main/java/org/onosproject/store/primitives/TransactionId.java
@@ -15,42 +15,24 @@
  */
 package org.onosproject.store.primitives;
 
-import com.google.common.base.Objects;
+import org.onlab.util.Identifier;
 
 /**
  * Transaction identifier.
  */
-public final class TransactionId {
+public final class TransactionId extends Identifier<String> {
 
+    /**
+     * Creates a new transaction identifier.
+     *
+     * @param id backing identifier value
+     * @return transaction identifier
+     */
     public static TransactionId from(String id) {
         return new TransactionId(id);
     }
 
-    private final String id;
-
     private TransactionId(String id) {
-        this.id = id;
-    }
-
-    @Override
-    public String toString() {
-        return id;
-    }
-
-    @Override
-    public int hashCode() {
-        return id.hashCode();
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (this == other) {
-            return true;
-        }
-        if (other instanceof TransactionId) {
-            TransactionId that = (TransactionId) other;
-            return Objects.equal(this.id, that.id);
-        }
-        return false;
+        super(id);
     }
 }