Implementing net config subsystem and revising its interfaces.

Added a few basic configs for device, host and links.

Added initial REST API.

Added CLI.

Tests remain to be added.

Change-Id: Ic7bba4b5ad7d553c51d69f6459b3bff146970323
diff --git a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
index adea3af..e306954 100644
--- a/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
+++ b/core/api/src/main/java/org/onosproject/net/AnnotationKeys.java
@@ -17,7 +17,11 @@
 
 /**
  * Collection of keys for annotation.
- * Definitions of annotation keys needs to be here to avoid scattering.
+ * <p>
+ * Number of the annotation keys have been deprecated as the use of annotations
+ * is being phased out and instead network configuration subsystem is being
+ * phased-in for majority of model meta-data.
+ * </p>
  */
 public final class AnnotationKeys {
 
@@ -26,22 +30,34 @@
 
     /**
      * Annotation key for instance name.
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String NAME = "name";
 
     /**
      * Annotation key for instance type (e.g. host type).
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String TYPE = "type";
 
     /**
      * Annotation key for latitude (e.g. latitude of device).
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String LATITUDE = "latitude";
 
     /**
      * Annotation key for longitute (e.g. longitude of device).
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String LONGITUDE = "longitude";
 
     /**
@@ -51,7 +67,10 @@
 
     /**
      * Annotation key for the device driver name.
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String DRIVER = "driver";
 
     /**
@@ -61,13 +80,19 @@
 
     /**
      * Annotation key for latency.
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String LATENCY = "latency";
 
     /**
      * Annotation key for bandwidth.
      * The value for this key is interpreted as Mbps.
+     *
+     * @deprecated since Cardinal
      */
+    @Deprecated
     public static final String BANDWIDTH = "bandwidth";
 
     /**