Reland: Fix echo return loss stats and add to RTCAudioSourceStats.

Relanding after adding to chromium stats whitelist:
https://chromium-review.googlesource.com/c/chromium/src/+/2983329

This solves two problems:
* Echo return loss stats weren't being gathered in Chrome, because they
  need to be taken from the audio processor attached to the track
  rather than the audio send stream.
* The standardized location is in RTCAudioSourceStats, not
  RTCMediaStreamTrackStats. For now, will populate the stats in both
  locations.

Bug: webrtc:12770
Change-Id: I3633ee428d07b283b0cc503a84d8fa2e79415dfb
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/223761
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#34367}
diff --git a/pc/rtc_stats_integrationtest.cc b/pc/rtc_stats_integrationtest.cc
index 032cbe9..90be600 100644
--- a/pc/rtc_stats_integrationtest.cc
+++ b/pc/rtc_stats_integrationtest.cc
@@ -1082,6 +1082,12 @@
     verifier.TestMemberIsNonNegative<double>(audio_source.audio_level);
     verifier.TestMemberIsPositive<double>(audio_source.total_audio_energy);
     verifier.TestMemberIsPositive<double>(audio_source.total_samples_duration);
+    // TODO(hbos): |echo_return_loss| and |echo_return_loss_enhancement| are
+    // flaky on msan bot (sometimes defined, sometimes undefined). Should the
+    // test run until available or is there a way to have it always be
+    // defined? crbug.com/627816
+    verifier.MarkMemberTested(audio_source.echo_return_loss, true);
+    verifier.MarkMemberTested(audio_source.echo_return_loss_enhancement, true);
     return verifier.ExpectAllMembersSuccessfullyTested();
   }