Cast: Added a function to deserialize and a test to make sure serialize-deserialize stays in sync.

LogSerializer takes a string of serialized logs and returns a FrameEventMap, PacketEventMap, a bool indicating whether it is for an audio stream, and the first rtp timestamp of the events.

The DeserializeEvents function does the inverse of LogSerializer - passing data from LogSerializer then to DeserializeEvents should return identical data.

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254741 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 254741
Add metrics for DataChannel:
- Number of DataChannels created per PeerConnection
- Sizes of messages sent over reliable/unreliable channels.
- Number of channels created in total, plus counts for reliable/ordered/negotiated.

BUG=348616
R=asvitkine@chromium.org, xians@chromium.org

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

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