This implements the stats selection algorithm[1] in RTCStatsCollector by obtaining the selector's inbound-rtp/outbound-rtp stats and performing the stats traversal algorithm (TakeReferencedStats)[2] on a copy of the cached report with the rtps as starting point. Changes: - RTCStatsCollector.GetStatsReport() with selector arguments added. - RequestInfo added, "callbacks_" is replaced by "requests_". - RTCStatsReport.Copy() added. - New test for sender selector and receiver selector, RTCStatsCollectorTest.GetStatsWithSelector. [1] https://w3c.github.io/webrtc-pc/#dfn-stats-selection-algorithm [2] https://cs.chromium.org/chromium/src/third_party/webrtc/pc/rtcstatstraversal.h Bug: chromium:680172 Change-Id: I9eff00738a1f24c94c9c8ecd13c1304452e962cf Reviewed-on: https://webrtc-review.googlesource.com/62141 Reviewed-by: Harald Alvestrand <hta@webrtc.org> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org> Commit-Queue: Henrik Boström <hbos@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22499}