Moving NetconfDeviceConfig to API bundle

- Move the class to API bundle to allow config manipulation via API
- Avoid sweeping whole device tree on every Device event.
- code clean up

Change-Id: I58ebdc89688c6c9250bb546585c227d486b30df2
diff --git a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
index f2f4007..d146e0f 100644
--- a/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
+++ b/providers/netconf/device/src/test/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProviderTest.java
@@ -70,6 +70,7 @@
 import org.onosproject.net.provider.ProviderId;
 import org.onosproject.netconf.NetconfController;
 import org.onosproject.netconf.NetconfDeviceListener;
+import org.onosproject.netconf.config.NetconfDeviceConfig;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -106,13 +107,16 @@
     private final DeviceStore deviceStore = new MockDeviceStore();
 
     //Class for testing
-    private final NetworkConfigEvent deviceAddedEvent =
-            new NetworkConfigEvent(NetworkConfigEvent.Type.CONFIG_ADDED,
-                                   DeviceId.deviceId(NETCONF_DEVICE_ID_STRING), NetconfDeviceConfig.class);
     private final NetconfDeviceConfig netconfDeviceConfig = new NetconfDeviceConfig();
     private final NetconfDeviceConfig netconfDeviceConfigSshKey = new NetconfDeviceConfig();
     private final NetconfDeviceConfig netconfDeviceConfigEmptyIpv4 = new NetconfDeviceConfig();
     private final NetconfDeviceConfig netconfDeviceConfigEmptyIpv6 = new NetconfDeviceConfig();
+    private final NetworkConfigEvent deviceAddedEvent =
+            new NetworkConfigEvent(NetworkConfigEvent.Type.CONFIG_ADDED,
+                                   DeviceId.deviceId(NETCONF_DEVICE_ID_STRING),
+                                   netconfDeviceConfig, null,
+                                   NetconfDeviceConfig.class);
+
     private final NetworkConfigEvent deviceAddedEventOld =
             new NetworkConfigEvent(NetworkConfigEvent.Type.CONFIG_ADDED,
                                    null, NetconfProviderConfig.class);
@@ -436,7 +440,7 @@
 
         @Override
         public <S, C extends Config<S>> Set<S> getSubjects(Class<S> subjectClass, Class<C> configClass) {
-            Set<S> subjects = new HashSet<S>();
+            Set<S> subjects = new HashSet<>();
             if (available) {
                 if (cfg != null) {
                     subjects.add((S) DeviceId.deviceId(NETCONF_DEVICE_ID_STRING_OLD));