Moving LabelResourceManager to incubator

Breaking apart resource package into {device, link, label}
Refactored cluster serializers so they are visible

Change-Id: I71051bcd5e790ae6abeb154bf58286e584c32858
diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceId.java b/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceId.java
new file mode 100644
index 0000000..688dbff
--- /dev/null
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/resource/label/LabelResourceId.java
@@ -0,0 +1,46 @@
+package org.onosproject.incubator.net.resource.label;
+
+import org.onosproject.net.resource.ResourceId;
+
+import java.util.Objects;
+
+/**
+ * Representation of a label.
+ */
+public final class LabelResourceId implements ResourceId {
+
+    private long labelId;
+
+    public static LabelResourceId labelResourceId(long labelResourceId) {
+        return new LabelResourceId(labelResourceId);
+    }
+
+    // Public construction is prohibited
+    private LabelResourceId(long labelId) {
+        this.labelId = labelId;
+    }
+
+    public long labelId() {
+        return labelId;
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(labelId);
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof LabelResourceId) {
+            LabelResourceId that = (LabelResourceId) obj;
+            return Objects.equals(this.labelId, that.labelId);
+        }
+        return false;
+    }
+
+    @Override
+    public String toString() {
+        return String.valueOf(this.labelId);
+    }
+
+}