Cherry pick gNMI and Stratum related changes to this branch

Cherry picked commits:
20211 Update gNMI version and build script
20247 [ONOS-7829] Implement AbstractGrpcClient and AbstractGrpcClientControl
20233 [ONOS-7141][ONOS-7142] Add GnmiClient and GnmiController
20234 Refactor OpenConfig gNMI device description descovery
20260 [ONOS-7831] Implement GnmiHandshaker
20270 Add Stratum driver

Change-Id: I81ad8bce45251af5909cfcac0edbcfd11c8ebf1d
diff --git a/protocols/gnmi/ctl/src/main/java/org/onosproject/gnmi/ctl/GnmiClientImpl.java b/protocols/gnmi/ctl/src/main/java/org/onosproject/gnmi/ctl/GnmiClientImpl.java
index b8179a9..22b226b 100644
--- a/protocols/gnmi/ctl/src/main/java/org/onosproject/gnmi/ctl/GnmiClientImpl.java
+++ b/protocols/gnmi/ctl/src/main/java/org/onosproject/gnmi/ctl/GnmiClientImpl.java
@@ -27,10 +27,10 @@
 import io.grpc.ManagedChannel;
 import io.grpc.Status;
 import io.grpc.StatusRuntimeException;
+import org.onosproject.gnmi.api.GnmiClient;
 import org.onosproject.gnmi.api.GnmiClientKey;
 import org.onosproject.grpc.ctl.AbstractGrpcClient;
 import org.slf4j.Logger;
-import org.onosproject.gnmi.api.GnmiClient;
 
 import java.util.concurrent.CompletableFuture;
 
@@ -46,8 +46,8 @@
     private final Logger log = getLogger(getClass());
     private final gNMIGrpc.gNMIBlockingStub blockingStub;
 
-    public GnmiClientImpl(GnmiClientKey clientKey, ManagedChannel managedChannel) {
-        super(clientKey, managedChannel);
+    GnmiClientImpl(GnmiClientKey clientKey, ManagedChannel managedChannel) {
+        super(clientKey);
         this.blockingStub = gNMIGrpc.newBlockingStub(managedChannel);
     }
 
@@ -101,8 +101,7 @@
 
     private boolean doServiceAvailable() {
         try {
-            blockingStub.get(DUMMY_REQUEST);
-            return true;
+            return blockingStub.get(DUMMY_REQUEST) != null;
         } catch (StatusRuntimeException e) {
             // This gRPC call should throw INVALID_ARGUMENT status exception
             // since "/onos-gnmi-test" path does not exists in any config model