[VOL-2055] Use Tech Profile ID to differentiate downstream traffic scheduler

- CreateQueue / RemoveQueue / CreateSched / RemoveSched / FlowAdd updated to include
  tech_profile_id to select downstream scheduler.
- A DS scheduler is now identified by the tuple (pon, onu, uni, dir, tech_profile_id)
- voltha_protos v3.3.5 is now referred.
- Unit tests updated.
- VERSION updated.

Change-Id: I399bbb03aa33b61a02da10af0a40d354d44bd5cf
diff --git a/agent/src/core_utils.h b/agent/src/core_utils.h
index b686867..5f64e47 100644
--- a/agent/src/core_utils.h
+++ b/agent/src/core_utils.h
@@ -49,9 +49,9 @@
 std::string vendor_specific_to_str(const char* const serial_number);
 uint16_t get_dev_id(void);
 int get_default_tm_sched_id(int intf_id, std::string direction);
-uint32_t get_tm_sched_id(int pon_intf_id, int onu_id, int uni_id, std::string direction);
-void free_tm_sched_id(int pon_intf_id, int onu_id, int uni_id, std::string direction);
-bool is_tm_sched_id_present(int pon_intf_id, int onu_id, int uni_id, std::string direction);
+uint32_t get_tm_sched_id(int pon_intf_id, int onu_id, int uni_id, std::string direction, int tech_profile_id);
+void free_tm_sched_id(int pon_intf_id, int onu_id, int uni_id, std::string direction, int tech_profile_id);
+bool is_tm_sched_id_present(int pon_intf_id, int onu_id, int uni_id, std::string direction, int tech_profile_id);
 bool check_tm_qmp_equality(std::vector<uint32_t> tmq_map_profileA, std::vector<uint32_t> tmq_map_profileB);
 std::string* get_valid_queues_pbit_map(std::string *queues_pbit_map, uint32_t size);
 std::vector<uint32_t> get_tmq_map_profile(std::string *queues_pbit_map, uint32_t *queues_priority_q, uint32_t size);