Keep track of DTLS packet sizes to prevent partial reads.

The current use of rtc::FifoBuffer can lead to reading across DTLS packet
boundaries which could cause packets to not being processed correctly.

This CL introduces the new class rtc::BufferQueue and changes the
StreamInterfaceChannel to use it instead of the rtc::FifoBuffer.

BUG=chromium:447431
R=juberti@google.com

Review URL: https://webrtc-codereview.appspot.com/52509004

Cr-Original-Commit-Position: refs/heads/master@{#9254}
Cr-Mirrored-From: https://chromium.googlesource.com/external/webrtc
Cr-Mirrored-Commit: 6f2ef74b423ca81c70cdd231b12f55fc18836fb2
diff --git a/base/base_tests.gyp b/base/base_tests.gyp
index 3c500e0..bff20db 100644
--- a/base/base_tests.gyp
+++ b/base/base_tests.gyp
@@ -55,6 +55,7 @@
           'bind_unittest.cc',
           'bitbuffer_unittest.cc',
           'buffer_unittest.cc',
+          'bufferqueue_unittest.cc',
           'bytebuffer_unittest.cc',
           'byteorder_unittest.cc',
           'callback_unittest.cc',