Reland "Enabling Simulcast use via AddTransceiver."

This is a reland of ce470aab518f067a67aa03aaab1fc61a45afa0ec

Original change's description:
> Enabling Simulcast use via AddTransceiver.
> 
> This change removes the restriction on multiple send encodings when
> calling AddTransceiver. If RIDs are not provided in the
> simulcast scenario, they are auto-generated by the platform.
> 
> This effectively enables the use of spec-compliant simulcast.
> Tests are also added to verify simulcast functionality.
> 
> Bug: webrtc:10075
> Change-Id: I088feba70a26e85abcc7bfbe3ea1fe5103cd47d2
> Reviewed-on: https://webrtc-review.googlesource.com/c/121389
> Reviewed-by: Florent Castelli <orphis@webrtc.org>
> Reviewed-by: Steve Anton <steveanton@webrtc.org>
> Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#26590}

Bug: webrtc:10075
Change-Id: Ib4392e36d5d60b966ecff56d4df69bf60d13a73d
Reviewed-on: https://webrtc-review.googlesource.com/c/122962
Reviewed-by: Amit Hilbuch <amithi@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Commit-Queue: Amit Hilbuch <amithi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26694}
diff --git a/pc/peer_connection_rtp_unittest.cc b/pc/peer_connection_rtp_unittest.cc
index e41791f..cf00138 100644
--- a/pc/peer_connection_rtp_unittest.cc
+++ b/pc/peer_connection_rtp_unittest.cc
@@ -1428,18 +1428,6 @@
   EXPECT_FALSE(caller->observer()->negotiation_needed());
 }
 
-// Test that AddTransceiver fails if trying to use simulcast using
-// send_encodings as it isn't currently supported.
-TEST_F(PeerConnectionRtpTestUnifiedPlan, CheckForUnsupportedSimulcast) {
-  auto caller = CreatePeerConnection();
-
-  RtpTransceiverInit init;
-  init.send_encodings.emplace_back();
-  init.send_encodings.emplace_back();
-  auto result = caller->pc()->AddTransceiver(cricket::MEDIA_TYPE_VIDEO, init);
-  EXPECT_EQ(result.error().type(), RTCErrorType::UNSUPPORTED_PARAMETER);
-}
-
 // Test that AddTransceiver fails if trying to use unimplemented RTP encoding
 // parameters with the send_encodings parameters.
 TEST_F(PeerConnectionRtpTestUnifiedPlan,
@@ -1452,7 +1440,7 @@
   auto default_send_encodings = init.send_encodings;
 
   // Unimplemented RtpParameters: ssrc, codec_payload_type, fec, rtx, dtx,
-  // ptime, scale_framerate_down_by, rid, dependency_rids.
+  // ptime, scale_framerate_down_by, dependency_rids.
   init.send_encodings[0].ssrc = 1;
   EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
             caller->pc()
@@ -1501,14 +1489,6 @@
                 .type());
   init.send_encodings = default_send_encodings;
 
-  init.send_encodings[0].rid = "dummy_rid";
-  EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
-            caller->pc()
-                ->AddTransceiver(cricket::MEDIA_TYPE_AUDIO, init)
-                .error()
-                .type());
-  init.send_encodings = default_send_encodings;
-
   init.send_encodings[0].dependency_rids.push_back("dummy_rid");
   EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
             caller->pc()