libnetconf UPDATE YANG data configuration

Configuration based on YANG data. Open 2 ssh channels on one
session. Pubkey,interactive,pw,none SSH authentication working. SSH
message callback not a callback anymore, handle SSH messages manually.
ietf-netconf-server and all models it imports added and a libnetconf2 own model
with augments. And finally only local-definition of keys supported. 2 tests.
NBC API changes.
diff --git a/modules/ietf-tcp-common@2022-05-24.yang b/modules/ietf-tcp-common@2022-05-24.yang
new file mode 100644
index 0000000..e9a927d
--- /dev/null
+++ b/modules/ietf-tcp-common@2022-05-24.yang
@@ -0,0 +1,115 @@
+module ietf-tcp-common {
+  yang-version 1.1;
+  namespace "urn:ietf:params:xml:ns:yang:ietf-tcp-common";
+  prefix tcpcmn;
+
+  organization
+    "IETF NETCONF (Network Configuration) Working Group and the
+     IETF TCP Maintenance and Minor Extensions (TCPM) Working Group";
+
+  contact
+    "WG Web:   https://datatracker.ietf.org/wg/netconf
+               https://datatracker.ietf.org/wg/tcpm
+     WG List:  NETCONF WG list <mailto:netconf@ietf.org>
+               TCPM WG list <mailto:tcpm@ietf.org>
+     Authors:  Kent Watsen <mailto:kent+ietf@watsen.net>
+               Michael Scharf
+               <mailto:michael.scharf@hs-esslingen.de>";
+
+  description
+    "This module defines reusable groupings for TCP commons that
+     can be used as a basis for specific TCP common instances.
+
+     Copyright (c) 2022 IETF Trust and the persons identified
+     as authors of the code. All rights reserved.
+
+     Redistribution and use in source and binary forms, with
+     or without modification, is permitted pursuant to, and
+     subject to the license terms contained in, the Revised
+     BSD License set forth in Section 4.c of the IETF Trust's
+     Legal Provisions Relating to IETF Documents
+     (https://trustee.ietf.org/license-info).
+
+     This version of this YANG module is part of RFC DDDD
+     (https://www.rfc-editor.org/info/rfcDDDD); see the RFC
+     itself for full legal notices.
+
+     The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL',
+     'SHALL NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED',
+     'NOT RECOMMENDED', 'MAY', and 'OPTIONAL' in this document
+     are to be interpreted as described in BCP 14 (RFC 2119)
+     (RFC 8174) when, and only when, they appear in all
+     capitals, as shown here.";
+
+  revision 2022-05-24 {
+    description
+      "Initial version";
+    reference
+      "RFC DDDD: YANG Groupings for TCP Clients and TCP Servers";
+  }
+
+  // Features
+
+  feature keepalives-supported {
+    description
+      "Indicates that keepalives are supported.";
+  }
+
+  // Groupings
+
+  grouping tcp-common-grouping {
+    description
+      "A reusable grouping for configuring TCP parameters common
+       to TCP connections as well as the operating system as a
+       whole.";
+    container keepalives {
+      if-feature "keepalives-supported";
+      presence
+        "Indicates that keepalives are enabled.  This statement is
+         present so the mandatory descendant nodes do not imply that
+         this node must be configured.";
+      description
+        "Configures the keep-alive policy, to proactively test the
+         aliveness of the TCP peer.  An unresponsive TCP peer is
+         dropped after approximately (idle-time + max-probes
+         * probe-interval) seconds.";
+      leaf idle-time {
+        type uint16 {
+          range "1..max";
+        }
+        units "seconds";
+        mandatory true;
+        description
+          "Sets the amount of time after which if no data has been
+           received from the TCP peer, a TCP-level probe message
+           will be sent to test the aliveness of the TCP peer.
+           Two hours (7200 seconds) is safe value, per RFC 1122.";
+        reference
+          "RFC 1122:
+            Requirements for Internet Hosts -- Communication Layers";
+      }
+      leaf max-probes {
+        type uint16 {
+          range "1..max";
+        }
+        mandatory true;
+        description
+          "Sets the maximum number of sequential keep-alive probes
+           that can fail to obtain a response from the TCP peer
+           before assuming the TCP peer is no longer alive.";
+      }
+      leaf probe-interval {
+        type uint16 {
+          range "1..max";
+        }
+        units "seconds";
+        mandatory true;
+        description
+          "Sets the time interval between failed probes. The interval
+           SHOULD be significantly longer than one second in order to
+           avoid harm on a congested link.";
+      }
+    } // container keepalives
+  } // grouping tcp-common-grouping
+
+}