This cl is the first cl in order to be able to support MediaStreamTrack::Stop.

It adds a new method StopStreamDevice to MediaStreamDispatcherHost and MediaStreamManager.

It also change the behavior in that sense that only one session_id (used for using a device from the render process) is generated for a specific device_id, process_id and render_view_id combination. It means that multiple gum requests for the same device will have the same session id.

It also means that that when StopStreamDevice is called - it will stop the (video) device from being used - even if it is being used in several MediaStreams.

TEST= Open https://src.chromium.org/chrome/trunk/src/chrome/test/data/webrtc/manual/peerconnection-multi.html. Open the Java script console and type gLocalStream1.stop(). Notice that both video tags stop displaying video from the camera. Before this change - only the first video stopped.

BUG=293304
R=tsepez@chromium.org, wjia@chromium.org, xians@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@229780 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 229780