NetconfSession refactoring

- Move netconf rpc envelope processing common across secure transport implementation
  to AbstractNetconfSession
  work by: Palash Kala <palash.kala@samsung.com>

Change-Id: I5f0d6adecf6224ae44f224291f645725b3c87739
diff --git a/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSessionAdapter.java b/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSessionAdapter.java
index 6ca84c7..afb9015 100644
--- a/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSessionAdapter.java
+++ b/protocols/netconf/api/src/main/java/org/onosproject/netconf/NetconfSessionAdapter.java
@@ -24,7 +24,11 @@
 /**
  * Adapter mainly intended for usage in tests.
  */
-public class NetconfSessionAdapter implements NetconfSession {
+public class NetconfSessionAdapter
+    extends AbstractNetconfSession
+    implements NetconfSession {
+
+    // TODO remove methods defined in AbstractNetconfSession
 
     @Override
     public void startSubscription(String filterSchema) throws NetconfException {
@@ -46,6 +50,13 @@
     }
 
     @Override
+    public CompletableFuture<String> rpc(String request)
+            throws NetconfException {
+        return Tools.exceptionalFuture(new UnsupportedOperationException());
+    }
+
+
+    @Override
     public void removeDeviceOutputListener(NetconfDeviceOutputEventListener listener) {
     }