MediaStream audio object graph untangling and clean-ups.

This change consists of a number of "clean-up" changes that are being
done to make the soon-upcoming refactoring of these classes go much more
smoothly.  These are:

1. Public content MediaStreamApi functions cleaned up.  Removed
"duplicated" functions that don't really do the same thing.  Removed
hard-coded audio parameters from AddAudioTrackToMediaStream().

2. Eliminated ref-counting of WebRtcAudioCapturer and
WebAudioCaptureSource.  Removed unnecessary references to these from
WebRtcLocalAudioTrack.  Not only did this improve encapsulation of some
code, but it also allowed for the removal of several dozen lines of
"dead weight" testing set-upcode throughout the directory.

3. Renamed MediaStreamAudioTrack::GetTrack() method to From(), to be
consistent with how this pattern is used in other parts of libcontent,
and added a MediaStreamAudioSource::From().

4. Moved audio level calculations out of WebRtcLocalAudioTrack and into
WebRtcAudioCapturer.  This way, when multiple tracks are present, the
calculation is only being done once on the same audio.

5. Eliminated call to WebRtcCapturer::Stop() from
WebRtcAudioDeviceImpl::Terminate(), which are each supposed to run on
different threads.  From testing, DCHECKs should have been firing, but
weren't, so the Terminate() method seems to be dead code.

6. Miscellaneous other "compaction" and comment updates.

BUG=577881, 577874
TBR=peter@chromium.org

Review URL: https://codereview.chromium.org/1721273002

Cr-Commit-Position: refs/heads/master@{#380065}
48 files changed