Add MessagePipe interface. Use it in ChannelDispatcherBase.

In WebRTC data streams are message-based, so the message framing
mechanism use for the old protocol doesn't make sense for the
WebRTC-based protocol. The new MessagePipe represents an abstract
messaging channel. StreamMessagePipeAdapter implements framing for the
old protocol. A different MessagePipe is going to be used for
WebRTC-based protocol.

BUG=547158

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

Cr-Commit-Position: refs/heads/master@{#373340}
diff --git a/remoting/protocol/client_video_dispatcher_unittest.cc b/remoting/protocol/client_video_dispatcher_unittest.cc
index bc31d1a7..fb39b46b 100644
--- a/remoting/protocol/client_video_dispatcher_unittest.cc
+++ b/remoting/protocol/client_video_dispatcher_unittest.cc
@@ -12,6 +12,7 @@
 #include "remoting/base/constants.h"
 #include "remoting/proto/video.pb.h"
 #include "remoting/protocol/fake_stream_socket.h"
+#include "remoting/protocol/message_reader.h"
 #include "remoting/protocol/message_serialization.h"
 #include "remoting/protocol/video_stub.h"
 #include "testing/gtest/include/gtest/gtest.h"