This is the initial commit of the netconf server code.  It consists
of the following:
1) The server is built using Twisted Conch
2) It adapted an existing opensource netconf server (https://github.com/choppsv1/netconf)
   to handle some low-level protocols.  The adaptation is mostly around
   using Twisted Conch instead of Python Threads
3) A microservice to interface with Voltha on the SB and Netconf client on
   the NB
4) A set of credentials for the server and clients.  At this time these
   credentials are local and in files.  Additional work is required to
   secure these files
5) A rough-in to handle the rpc requests from Netconf clients
6) Code for initial handshaking is in place (hello)

Change-Id: I1ca0505d0ac35ff06066b107019ae87ae30e38f8
diff --git a/netconf/security/certificates/server.crt b/netconf/security/certificates/server.crt
new file mode 100644
index 0000000..200597d
--- /dev/null
+++ b/netconf/security/certificates/server.crt
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDejCCAmICCQDB3buSyupywzANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJD
+QTELMAkGA1UECAwCT04xDzANBgNVBAcMBk90dGF3YTEOMAwGA1UECgwFQ2llbmEx
+CzAJBgNVBAsMAkJQMRIwEAYDVQQDDAlraGVuYWlkb28xITAfBgkqhkiG9w0BCQEW
+EmtudXJzaW11QGNpZW5hLmNvbTAeFw0xNjExMjIxNjQ4MzdaFw0xNzExMjIxNjQ4
+MzdaMH8xCzAJBgNVBAYTAkNBMQswCQYDVQQIDAJPTjEPMA0GA1UEBwwGT3R0YXdh
+MQ4wDAYDVQQKDAVDaWVuYTELMAkGA1UECwwCQlAxEjAQBgNVBAMMCWtoZW5haWRv
+bzEhMB8GCSqGSIb3DQEJARYSa251cnNpbXVAY2llbmEuY29tMIIBIjANBgkqhkiG
+9w0BAQEFAAOCAQ8AMIIBCgKCAQEA25erUWmgLl0L8KgGjYEBicFs1Q7rXU9OnsF2
+Me1/hWYwExIrKwTXf/D6GY76k5BcNAlkmpmkeF9qio6+IokTGSzUoG9knCCfGITm
+ziHCAN0m7xsm9xXiREtZYW5hyW7USo0RHwXb/ZrvlGzbXyDb0KnYovyVVPihPrEO
+gtvOnXZGQ5h7Hr9+3swdjgwdn+xkO66g4Yr9ul+hhTAqyT8CchFvdZxgyplgbpfu
+DWd308pjv02ebDmDUQrcev78VRQHrIWOQcf6AW9a7OUus3l18rjG4DwNYEYxtDEm
+EgR+hDVwGuePVxvna/b+tapUaZT+cktSGjQyP5VG2tR5WMNPTQIDAQABMA0GCSqG
+SIb3DQEBCwUAA4IBAQA8TqSLW98Imz7xH9tSWVfs1Rhb7DuEl47vwOY99ocuG/cI
+8IjEmG6DGC/Q+AhgFKXgpMwGz0vxlYCEn3nSTnkUKqOTiKvuFFTHP7AKVdKAIYpI
+cV2DEw7S+EOeYAicAgIYb885yImB79ZjuSe6HgZG7kAqjPIjzefM43Fe9ESgIHA7
+e6za7cz+AJcpU2o/rxeS3p0nxrW9cEUSM0vhqBHvTTepe52IThnYbNIMbuhC1+fk
+if8STlOIe3maYc5Drt1njk3lXCPEuOFLTZxpG4qtNSBXPjRj0SqmLBly5QmdEuKc
+wj14dWBntVTvWeO9Z15DZjzLubNF7CJmqlAuRCON
+-----END CERTIFICATE-----
diff --git a/netconf/security/certificates/server.csr b/netconf/security/certificates/server.csr
new file mode 100644
index 0000000..163917b
--- /dev/null
+++ b/netconf/security/certificates/server.csr
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIICxDCCAawCAQAwfzELMAkGA1UEBhMCQ0ExCzAJBgNVBAgMAk9OMQ8wDQYDVQQH
+DAZPdHRhd2ExDjAMBgNVBAoMBUNpZW5hMQswCQYDVQQLDAJCUDESMBAGA1UEAwwJ
+a2hlbmFpZG9vMSEwHwYJKoZIhvcNAQkBFhJrbnVyc2ltdUBjaWVuYS5jb20wggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDbl6tRaaAuXQvwqAaNgQGJwWzV
+DutdT06ewXYx7X+FZjATEisrBNd/8PoZjvqTkFw0CWSamaR4X2qKjr4iiRMZLNSg
+b2ScIJ8YhObOIcIA3SbvGyb3FeJES1lhbmHJbtRKjREfBdv9mu+UbNtfINvQqdii
+/JVU+KE+sQ6C286ddkZDmHsev37ezB2ODB2f7GQ7rqDhiv26X6GFMCrJPwJyEW91
+nGDKmWBul+4NZ3fTymO/TZ5sOYNRCtx6/vxVFAeshY5Bx/oBb1rs5S6zeXXyuMbg
+PA1gRjG0MSYSBH6ENXAa549XG+dr9v61qlRplP5yS1IaNDI/lUba1HlYw09NAgMB
+AAGgADANBgkqhkiG9w0BAQsFAAOCAQEAbqT2sRFEpJuCqH/tQZhK2gFhBQOdRCRu
+GTzQdNN+vic0EjIsbL7c9boM0O55KMldDAhbQk55Y80CRCTwJXmfxIdlWAOLnING
+JeTwTaIhQsj2pMnsHKmtOHzGMkMiLdr6IxVowNQQ0KmJcuEPto908/0VuPfwSrSN
+Y/vZ0w1y9QdwpX5cj8EeYznNpHhPnKLpdMC5sXPZ16HgiFY8kW2MQDi4Oqx5ng/1
+Wyb9/uoAsFXERSNbw7Q0VNe3CT1l4LnfVKyVpND2rslBVISkZmfdOekBySM3PVeu
+3xUR3bBrYCccgxTSVHXjwdgpa58jOuKV1yO+QjrYYObGkUl+FknW0w==
+-----END CERTIFICATE REQUEST-----
diff --git a/netconf/security/certificates/server.pem b/netconf/security/certificates/server.pem
new file mode 100644
index 0000000..e445c87
--- /dev/null
+++ b/netconf/security/certificates/server.pem
@@ -0,0 +1,47 @@
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAhYCCQCqY7W/syEZVjANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQGEwJD
+QTELMAkGA1UECAwCT04xDDAKBgNVBAcMA290dDEOMAwGA1UECgwFY2llbmExCzAJ
+BgNVBAsMAmJwMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTYxMTIzMDMyNTM0WhcN
+MTcxMTIzMDMyNTM0WjBZMQswCQYDVQQGEwJDQTELMAkGA1UECAwCT04xDDAKBgNV
+BAcMA290dDEOMAwGA1UECgwFY2llbmExCzAJBgNVBAsMAmJwMRIwEAYDVQQDDAls
+b2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBzi+HBwhS
+v6886UDR7nZB6kVxOJ5i3WWWfXuo61DyXD8WDh7tQSjeG4IllZkpDj20DmcKsZ4K
+ms8c2pl4ttsvyoEz0lsKeP9xnRne85cRehgkbAw+SUASner1a3mM3RovvUE+NMMW
+vlyEtMLnYxa3GV8nBiwXmwqcu9FBpsNNPsF92+M+BgFzBntzlunTTB1zjEBkt3uc
+wJYVp07XSn4QZ+DcO+omSCgD1Y3m7vActmUbfxoCLVyWzxSuyLBaJ7rYJw4AQ9ma
++jUYQBvz4rToOxboDUMGUy/zQMJ5u8GDxctgmH/bZ4CJXE1wlakR5ynouSoPhX/i
+uB841K4543sPAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAKRPdXbSu3L6qxDQW/xe
+FZ1wwB/Oy/vXrBUkEjAWlrgEjbuWOdTwoIX1xsdNFCtKlUkga7zZ3+DmZicDXR1L
+DDbO1PSx1mvB5pSuUliT186BpG7lubecPaZTGaLo6YRHKbTlW0Uy31nlOeleUDNA
+oWd/daFUyc2zIC/LND4euqVRXUnlZx1UlswCar8e9lNbXd/BE9KQF6yYM5+V4eIE
+7HuRCrBERl6St3FNwMXoX9++V+m4nRMplHGCnM4zCQ7c7OptIYayuXq0O2TZGJ27
+zlI3/PjhOLc3IMdV1fo5AwUUZqN3qgJLl9B/XwlaaKToBwrX2SKwy6K8zNAEE2XG
+o+Q=
+-----END CERTIFICATE-----
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAwc4vhwcIUr+vPOlA0e52QepFcTieYt1lln17qOtQ8lw/Fg4e
+7UEo3huCJZWZKQ49tA5nCrGeCprPHNqZeLbbL8qBM9JbCnj/cZ0Z3vOXEXoYJGwM
+PklAEp3q9Wt5jN0aL71BPjTDFr5chLTC52MWtxlfJwYsF5sKnLvRQabDTT7Bfdvj
+PgYBcwZ7c5bp00wdc4xAZLd7nMCWFadO10p+EGfg3DvqJkgoA9WN5u7wHLZlG38a
+Ai1cls8UrsiwWie62CcOAEPZmvo1GEAb8+K06DsW6A1DBlMv80DCebvBg8XLYJh/
+22eAiVxNcJWpEecp6LkqD4V/4rgfONSuOeN7DwIDAQABAoIBAFKArrThpoZreXMJ
+rQFxbUBUNamkO7DEpSlyU8EuI7B42pZN/pZrhbU/qqDLVX8nw9axxuXDhQ7opkCX
+QnwkA50NrQDdjMohhkTcZxYFRos3Ga3vnSqqzi7esRY24XC48xvdijesCFzXPtVz
+igEsqo/ZqisXso99/f+I6OT00/E+hzDCPXn0VzWhNE5g2oDd6OMcn4y5SQ/OQfDl
+bx0sA2H+3bJCkGYAwt/ebMYxStNYx7eJFggq06O+aCKoilrI9U/kkN++qbjkp+p1
+p7FrKypHXuFRuerXOCFs8o9gotT/VEuEZKYfbjMe4442LXmm1lx2wlMtNJ0y9Fbt
+4wiUoJECgYEA5Uo3X7/V1nzHH5+O8odOz7XKyyWAAQHcCyM+CKYL5r+K6GVzVu1S
+pYKKWCWgP7d9HnOGa3GLNQSSjQYaZb4A2p/RTAtPA1EZVuCYfJubwWJQGobhY43m
+FdaBhb507c5EmgTBmCNcNsT+1wAcwSS7ODthYYd1oaYglifvoIB+gwkCgYEA2GHE
+JnJqxez8M1H6lFGAG/PJyKAr35E35kO+U3bjisple+1Aev4mG1WA3XVZI+oyNb3w
+wgGqBSf6e4S92DXYpAlM1zupUI2X7hvt0S3EJt4fGDtAMgx/UQidP+dIYo3yFPhB
+dG/IX8ZtyiaSU4QfWGiKXPZcfUCWYiuRMeQ7G1cCgYB5ifyOOY6tEhkuzxIjxstk
+2LU1N5yBbC3qjXTNes7mMnP8OgKIemYLq4WPseoevDGLWatP+rDSmqjgLfMCKVQk
+jwCPcZMha/Slk4ngy08lk+poFUUV01q6Cqk/brRmdabxiUHhViUENynqZ3nWe5Tt
++rPk0bvtwrSVQ3gGuPXWmQKBgFCN5QYjJljU5vb8F/tLdBPz6DUGXA748wSIR7yu
+z/sFak5+frjLEMiwRi8r1qmmMFcNhSnUkMUmovuE6WAqe6Jly/N8xIW2kM8WGqz7
+CsElhBHzTOzU9jjmqhP2OF5oVa001rlQPBpbttfBEEyDLWAuWwRMuxXuC440hfM6
+8j41AoGASAnCEYRsvWp47YEUCSX/7m1hM6/dm+OQo53w4GtNEgr3iTdSWWTkBilw
+RCvFikM/qW7PMl1/RGs2vX2Ur/0+tFweF1dJ+OJDlio26hD3BpRPPNxpmwEIHoF9
+zZBWjfarNsxkK4AYx9bNifhtEJuaqm1duTYG/OSc9tEJVjoU/bk=
+-----END RSA PRIVATE KEY-----
diff --git a/netconf/security/client_credentials/client_keys b/netconf/security/client_credentials/client_keys
new file mode 100644
index 0000000..c2d9c96
--- /dev/null
+++ b/netconf/security/client_credentials/client_keys
@@ -0,0 +1,3 @@
+vagrant:id_rsa
+voltha:id_rsa
+user:id_rsa
\ No newline at end of file
diff --git a/netconf/security/client_credentials/client_passwords b/netconf/security/client_credentials/client_passwords
new file mode 100644
index 0000000..15776b3
--- /dev/null
+++ b/netconf/security/client_credentials/client_passwords
@@ -0,0 +1,3 @@
+vagrant:vagrant
+voltha:voltha
+user:password
\ No newline at end of file
diff --git a/netconf/security/client_credentials/id_rsa b/netconf/security/client_credentials/id_rsa
new file mode 100644
index 0000000..935df1f
--- /dev/null
+++ b/netconf/security/client_credentials/id_rsa
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEogIBAAKCAQEAwc4vhwcIUr+vPOlA0e52QepFcTieYt1lln17qOtQ8lw/Fg4e
+7UEo3huCJZWZKQ49tA5nCrGeCprPHNqZeLbbL8qBM9JbCnj/cZ0Z3vOXEXoYJGwM
+PklAEp3q9Wt5jN0aL71BPjTDFr5chLTC52MWtxlfJwYsF5sKnLvRQabDTT7Bfdvj
+PgYBcwZ7c5bp00wdc4xAZLd7nMCWFadO10p+EGfg3DvqJkgoA9WN5u7wHLZlG38a
+Ai1cls8UrsiwWie62CcOAEPZmvo1GEAb8+K06DsW6A1DBlMv80DCebvBg8XLYJh/
+22eAiVxNcJWpEecp6LkqD4V/4rgfONSuOeN7DwIDAQABAoIBAFKArrThpoZreXMJ
+rQFxbUBUNamkO7DEpSlyU8EuI7B42pZN/pZrhbU/qqDLVX8nw9axxuXDhQ7opkCX
+QnwkA50NrQDdjMohhkTcZxYFRos3Ga3vnSqqzi7esRY24XC48xvdijesCFzXPtVz
+igEsqo/ZqisXso99/f+I6OT00/E+hzDCPXn0VzWhNE5g2oDd6OMcn4y5SQ/OQfDl
+bx0sA2H+3bJCkGYAwt/ebMYxStNYx7eJFggq06O+aCKoilrI9U/kkN++qbjkp+p1
+p7FrKypHXuFRuerXOCFs8o9gotT/VEuEZKYfbjMe4442LXmm1lx2wlMtNJ0y9Fbt
+4wiUoJECgYEA5Uo3X7/V1nzHH5+O8odOz7XKyyWAAQHcCyM+CKYL5r+K6GVzVu1S
+pYKKWCWgP7d9HnOGa3GLNQSSjQYaZb4A2p/RTAtPA1EZVuCYfJubwWJQGobhY43m
+FdaBhb507c5EmgTBmCNcNsT+1wAcwSS7ODthYYd1oaYglifvoIB+gwkCgYEA2GHE
+JnJqxez8M1H6lFGAG/PJyKAr35E35kO+U3bjisple+1Aev4mG1WA3XVZI+oyNb3w
+wgGqBSf6e4S92DXYpAlM1zupUI2X7hvt0S3EJt4fGDtAMgx/UQidP+dIYo3yFPhB
+dG/IX8ZtyiaSU4QfWGiKXPZcfUCWYiuRMeQ7G1cCgYB5ifyOOY6tEhkuzxIjxstk
+2LU1N5yBbC3qjXTNes7mMnP8OgKIemYLq4WPseoevDGLWatP+rDSmqjgLfMCKVQk
+jwCPcZMha/Slk4ngy08lk+poFUUV01q6Cqk/brRmdabxiUHhViUENynqZ3nWe5Tt
++rPk0bvtwrSVQ3gGuPXWmQKBgFCN5QYjJljU5vb8F/tLdBPz6DUGXA748wSIR7yu
+z/sFak5+frjLEMiwRi8r1qmmMFcNhSnUkMUmovuE6WAqe6Jly/N8xIW2kM8WGqz7
+CsElhBHzTOzU9jjmqhP2OF5oVa001rlQPBpbttfBEEyDLWAuWwRMuxXuC440hfM6
+8j41AoGASAnCEYRsvWp47YEUCSX/7m1hM6/dm+OQo53w4GtNEgr3iTdSWWTkBilw
+RCvFikM/qW7PMl1/RGs2vX2Ur/0+tFweF1dJ+OJDlio26hD3BpRPPNxpmwEIHoF9
+zZBWjfarNsxkK4AYx9bNifhtEJuaqm1duTYG/OSc9tEJVjoU/bk=
+-----END RSA PRIVATE KEY-----
diff --git a/netconf/security/client_credentials/id_rsa.pub b/netconf/security/client_credentials/id_rsa.pub
new file mode 100644
index 0000000..ef0da9f
--- /dev/null
+++ b/netconf/security/client_credentials/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBzi+HBwhSv6886UDR7nZB6kVxOJ5i3WWWfXuo61DyXD8WDh7tQSjeG4IllZkpDj20DmcKsZ4Kms8c2pl4ttsvyoEz0lsKeP9xnRne85cRehgkbAw+SUASner1a3mM3RovvUE+NMMWvlyEtMLnYxa3GV8nBiwXmwqcu9FBpsNNPsF92+M+BgFzBntzlunTTB1zjEBkt3ucwJYVp07XSn4QZ+DcO+omSCgD1Y3m7vActmUbfxoCLVyWzxSuyLBaJ7rYJw4AQ9ma+jUYQBvz4rToOxboDUMGUy/zQMJ5u8GDxctgmH/bZ4CJXE1wlakR5ynouSoPhX/iuB841K4543sP vagrant@voltha
diff --git a/netconf/security/keys/server.key b/netconf/security/keys/server.key
new file mode 100644
index 0000000..924a0df
--- /dev/null
+++ b/netconf/security/keys/server.key
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEA25erUWmgLl0L8KgGjYEBicFs1Q7rXU9OnsF2Me1/hWYwExIr
+KwTXf/D6GY76k5BcNAlkmpmkeF9qio6+IokTGSzUoG9knCCfGITmziHCAN0m7xsm
+9xXiREtZYW5hyW7USo0RHwXb/ZrvlGzbXyDb0KnYovyVVPihPrEOgtvOnXZGQ5h7
+Hr9+3swdjgwdn+xkO66g4Yr9ul+hhTAqyT8CchFvdZxgyplgbpfuDWd308pjv02e
+bDmDUQrcev78VRQHrIWOQcf6AW9a7OUus3l18rjG4DwNYEYxtDEmEgR+hDVwGueP
+Vxvna/b+tapUaZT+cktSGjQyP5VG2tR5WMNPTQIDAQABAoIBAQC2KKnP/jwHWd5W
+wzu0VIjPGmpKj3bFT82bOkbvAeHf6jYFC/RNWlXd5yvA2e+ZS46BCC2xZbSeuiAq
+UmD9SxJRtvOnJuCh9xmjAFRqOGyzxMDQZoi7PScWmh7KCQQLUem+8ih6wKSOSuFl
+EawkzKAsB0kTY04JT7qKw9uSx/4sdW83gDN/GfEh6mVzoYSkRfD9yfCFmV5kmaca
+C78LYkwrVAIPm5R03l9S+wvuU1CzvArgFYoF1RCqoFmZo1B96aiu8Ld3Mu+als6A
+tE/5IPVL5OEmPUu6rY+WD6N8udLgJ/5k8+EiUraCRyjnc2WsdMA//ZEaKaex8AYB
+xiHG25dhAoGBAP+a+ucND40GC34q7zjGNeELFEUkMOPfeIDwgn264eCZ00FSXIxG
+bMEwyGUYjQGaZivHa5Rjxl8/2MLfK0p8UKvD+gKy2HyZPRrEsSg46CwO6q8/q4MV
+FAuJsVDjLAIchHSc+vNJSIzmcrULxeilug5K+Uje7zWys33viMrFAW4VAoGBANvu
+dMaTUR2UOwY6y5kW+R+cnJHw//Qgn25HfGbKAygLG5PKcOHwdhSFG0hwGm/cudtT
+FoKViHcXaVDPs2GtKtRwiCmIh40NYNcUeUfiLF/o0IMxPAK707XqsBUXM2N/7Iwr
+M5Yr72L0i4d5gvDxdYOkhGSJ4ZY2pO/BJT/6oGJZAoGAJux24NCAWb1d6qynGUI1
+2jtRruW//DN/qkL13CelVgqWvQ/JwCLJVPIU0jBW6LOWc3w+ya4X+1FBtQs/EGy1
+7DI/1EFf7jl3sKfbQoDH+k2bN2y+tYt0Lf2d3u95OCkXkpqFLJ8wSSSeuys7zB3Q
+o3SPWaV5T/gSlU7wydAOU7ECgYEA1Pix3kVz7EfJbHvtAn9LmQAIYg7VXKtml9zj
+q4n9yn4PI2uLKk+3mKFYzSm5gA9nbuqjxqpU7rYeBuJKm9CbxAKA6G9MjBujZkNu
+OlzbibiiihhYO3F1TxlHj/Taj4SmJQoEt2wuMU4L+5GAah/4IxViGxWl/NdHmuAX
+WUAypWkCgYBKTm2Saam8hRi6Pc0T63a3RrBx0pu6TxLv9+7rqBYUaP9kRwZbVnc2
+AH7DW73ZLuVnQL0ymkkVzwDIn6skT322H3g0Cc+ducwLXZ2AaObQNflHoFtSiO85
+a0oWQOtmjqdYfbRIulSMbjQhZ/wAA5Ju4lJI5/0MOxFvfxK5WBNhZQ==
+-----END RSA PRIVATE KEY-----
diff --git a/netconf/security/keys/server.key.pub b/netconf/security/keys/server.key.pub
new file mode 100644
index 0000000..ddab57a
--- /dev/null
+++ b/netconf/security/keys/server.key.pub
@@ -0,0 +1 @@
+ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbl6tRaaAuXQvwqAaNgQGJwWzVDutdT06ewXYx7X+FZjATEisrBNd/8PoZjvqTkFw0CWSamaR4X2qKjr4iiRMZLNSgb2ScIJ8YhObOIcIA3SbvGyb3FeJES1lhbmHJbtRKjREfBdv9mu+UbNtfINvQqdii/JVU+KE+sQ6C286ddkZDmHsev37ezB2ODB2f7GQ7rqDhiv26X6GFMCrJPwJyEW91nGDKmWBul+4NZ3fTymO/TZ5sOYNRCtx6/vxVFAeshY5Bx/oBb1rs5S6zeXXyuMbgPA1gRjG0MSYSBH6ENXAa549XG+dr9v61qlRplP5yS1IaNDI/lUba1HlYw09N vagrant@voltha