Flow decomposer support for Tech Profile Reference in metadata instead of using Flow Table ID as reference in Table 1.

Also in this patch:
 - Update flow count field of meter stats
 - ONU root field was True and because of this flow decomposer was not working properly - it is fixed (now onu root field is false) - related to VOL-1354
 - Meter & write metadata support is added to vcli
 - No-action (drop) flow support is added.
 - Removed broken wildcard inport support and in-band control support
 - Meter functions (meter stats reply, meter modify etc.) are fixed
 - Metadata information  passed on to the OLT and ONU Adapters.
 - Meter Reference in all Flow Tables passed on to the OLT and ONU Adapters.
 - Fixed unit tests and added more unit tests
 - Fixed ponsim (partially) to deal with changes to flow decomposer

Change-Id: Id4b16fc05a6740a3f521b2cc4f6fdbff88da4fa5
diff --git a/ofagent/grpc_client.py b/ofagent/grpc_client.py
index 16be6f0..155f18d 100644
--- a/ofagent/grpc_client.py
+++ b/ofagent/grpc_client.py
@@ -210,7 +210,7 @@
             meter_mod=meter_mod
         )
         res = yield threads.deferToThread(
-            self.local_stub.UpdateLogicalDeviceMeterTable, req)
+            self.local_stub.UpdateLogicalDeviceMeterTable, req, timeout=self.grpc_timeout)
         returnValue(res)
 
     @inlineCallbacks
@@ -238,6 +238,13 @@
         returnValue(res.items)
 
     @inlineCallbacks
+    def list_meters(self, device_id):
+        req = ID(id=device_id)
+        res = yield threads.deferToThread(
+            self.local_stub.ListLogicalDeviceMeters, req, timeout=self.grpc_timeout)
+        returnValue(res.items)
+
+    @inlineCallbacks
     def list_ports(self, device_id):
         req = ID(id=device_id)
         res = yield threads.deferToThread(
@@ -262,10 +269,3 @@
         res = yield threads.deferToThread(
             self.local_stub.Subscribe, subscriber, timeout=self.grpc_timeout)
         returnValue(res)
-
-    @inlineCallbacks
-    def get_meter_stats(self, device_id):
-        req = ID(id=device_id)
-        res = yield threads.deferToThread(
-            self.local_stub.GetMeterStatsOfLogicalDevice, req)
-        returnValue(res.items)