Make RTCRtpContributingSource a dictionary.

Before this CL it was an interface, but the spec changed this to a
dictionary a long time ago.

This is mostly refactoring efforts in preparation for
getSynchronizationSources(), but there is one behavioral change: Because
it is now a dictionary, every call to getContributingSources() will
produce a new set of objects. In this comparison...
  r.getContributingSources()[0] == r.getContributingSources()[0]
... the objects will be value-equal, but not reference-equal.

We should add more test coverage for getContributingSources() but this
is currently not testable without fakes/mocks.

Bug: 893158
Change-Id: If589c3fd3bea663e4b1284a16d5a0d6a5fa72231
Reviewed-on: https://chromium-review.googlesource.com/c/1398084
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Guido Urdaneta <guidou@chromium.org>
Commit-Queue: Henrik Boström <hbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620791}
9 files changed