VOL-1097 : Ofagent integration for voltha 2.0

- Created a common location for python based components
- Adjusted the ofagent component to interact with voltha 2.0
- Added streaming rpc methods for rcv/send of packets to voltha api
- Adjusted voltha.proto

Change-Id: I47fb7b80878ead060b4b42bd16cb4f8aa384fdb6
diff --git a/protos/voltha.proto b/protos/voltha.proto
index 6d37329..7574dd2 100644
--- a/protos/voltha.proto
+++ b/protos/voltha.proto
@@ -452,6 +452,20 @@
         };
     }
 
+    // Stream control packets to the dataplane
+    rpc StreamPacketsOut (stream openflow_13.PacketOut) returns (google.protobuf.Empty) {
+        // This does not have an HTTP representation
+    }
+
+    // Receive control packet stream
+    rpc ReceivePacketsIn (google.protobuf.Empty) returns (stream openflow_13.PacketIn) {
+        // This does not have an HTTP representation
+    }
+
+    rpc ReceiveChangeEvents (google.protobuf.Empty) returns (stream openflow_13.ChangeEvent) {
+        // This does not have an HTTP representation
+    }
+
     rpc CreateAlarmFilter(AlarmFilter) returns(AlarmFilter) {
         option (google.api.http) = {
             post: "/api/v1/alarm_filters"
@@ -495,5 +509,8 @@
             post: "/api/v1/devices/{id}/self_test"
         };
     }
+
+    rpc Subscribe (OfAgentSubscriber) returns (OfAgentSubscriber) {
+    }
 }