Removing AvailableBandwidth method on transport controller.

Removing the Synchronous call AvailableBandwidth from the
RtpTransportControllerSend interface. The bandwidth estimate is
provided trough a new interface that communicates with a struct
making it easier to add parameters in the future.

This prepares for removing locking behavior in
SendSideCongestionController that exists just to support this feature.

To keep backwards compatibility with the old
SendSideCongestionController, the struct TargetTransferRate
is constructed in RtpTransportControllerSend. This step can be
removed in the future when the old SendSideCongestionController
 is deprecated.

Bug: webrtc:8415
Change-Id: I06f64a89848157de412901c989650d1ecf35246b
Reviewed-on: https://webrtc-review.googlesource.com/60800
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22387}
diff --git a/call/BUILD.gn b/call/BUILD.gn
index 697ab19..6351a8a 100644
--- a/call/BUILD.gn
+++ b/call/BUILD.gn
@@ -96,6 +96,7 @@
     ":rtp_interfaces",
     "..:webrtc_common",
     "../modules/congestion_controller",
+    "../modules/congestion_controller/network_control",
     "../modules/pacing",
     "../modules/utility",
     "../rtc_base:rtc_base",
@@ -168,6 +169,7 @@
     "../logging:rtc_stream_config",
     "../modules/bitrate_controller",
     "../modules/congestion_controller",
+    "../modules/congestion_controller/network_control",
     "../modules/pacing",
     "../modules/rtp_rtcp",
     "../modules/rtp_rtcp:rtp_rtcp_format",
@@ -177,6 +179,7 @@
     "../rtc_base:rate_limiter",
     "../rtc_base:rtc_base_approved",
     "../rtc_base:rtc_task_queue",
+    "../rtc_base:safe_minmax",
     "../rtc_base:sequenced_task_checker",
     "../system_wrappers",
     "../system_wrappers:metrics_api",