Add support for enabling/disabling ports for gNMI devices

This change also includes:
- Refactoring of gNMI protocol+driver to take advantage of the recent
changes to the gRPC protocol subsystem (e.g. no more locking, start RPC
with timeouts, etc.).
- Fixed Stratum driver to work after GeneralDeviceProvider refactoring
- Updated bmv2.py to generate ChassisConfig for stratum_bmv2
- Fixed portstate command to use the same port name as in the store

Change-Id: I0dad3bc73e4b6d907b5cf6b7b9a2852943226be7
diff --git a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java
index a9481a4..a41144e 100644
--- a/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java
+++ b/drivers/gnmi/src/main/java/org/onosproject/drivers/gnmi/OpenConfigGnmiPortStatisticsDiscovery.java
@@ -17,6 +17,7 @@
 package org.onosproject.drivers.gnmi;
 
 import com.google.common.collect.Maps;
+import com.google.common.util.concurrent.Futures;
 import gnmi.Gnmi;
 import gnmi.Gnmi.GetRequest;
 import gnmi.Gnmi.GetResponse;
@@ -45,7 +46,7 @@
 
     private static final Map<Pair<DeviceId, PortNumber>, Long> PORT_START_TIMES =
             Maps.newConcurrentMap();
-    private static final String LAST_CHANGE = "last-change";
+    private static final String LAST_CHANGE = "last-changed";
 
     @Override
     public Collection<PortStatistics> discoverPortStatistics() {
@@ -67,10 +68,7 @@
             ifacePortNumberMapping.put(portName, port.number());
         });
 
-        GetResponse getResponse =
-                getFutureWithDeadline(client.get(getRequest.build()),
-                         "getting port counters",
-                                      GetResponse.getDefaultInstance());
+        GetResponse getResponse = Futures.getUnchecked(client.get(getRequest.build()));
 
         Map<String, Long> inPkts = Maps.newHashMap();
         Map<String, Long> outPkts = Maps.newHashMap();