TrackMediaInfoMap added.

This maps, in both directions, [Audio/Video]TrackInterface with
[Voice/Video][Sender/Receiver]Info.

This mapping is necessary for RTCStatsCollector to know the relationship
between RTCMediaStreamTrackStats and RTC[In/Out]boundRTPStreamStats, and
to be able to collect several RTCMediaStreamTrackStats stats.

BUG=webrtc:6757, chromium:659137, chromium:657854, chromium:627816

Review-Url: https://codereview.webrtc.org/2611983002
Cr-Commit-Position: refs/heads/master@{#16090}
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
index 7c5e302..149fd51 100644
--- a/webrtc/api/BUILD.gn
+++ b/webrtc/api/BUILD.gn
@@ -101,6 +101,8 @@
     "statstypes.cc",
     "statstypes.h",
     "streamcollection.h",
+    "trackmediainfomap.cc",
+    "trackmediainfomap.h",
     "videocapturertracksource.cc",
     "videocapturertracksource.h",
     "videosourceproxy.h",
@@ -254,12 +256,15 @@
       "test/fakevideotrackrenderer.h",
       "test/mock_datachannel.h",
       "test/mock_peerconnection.h",
+      "test/mock_rtpreceiver.h",
+      "test/mock_rtpsender.h",
       "test/mock_webrtcsession.h",
       "test/mockpeerconnectionobservers.h",
       "test/peerconnectiontestwrapper.cc",
       "test/peerconnectiontestwrapper.h",
       "test/rtcstatsobtainer.h",
       "test/testsdpstrings.h",
+      "trackmediainfomap_unittest.cc",
       "videocapturertracksource_unittest.cc",
       "videotrack_unittest.cc",
       "webrtcsdp_unittest.cc",