Factor out some ReadableStream operations for sharing

Factor some operations out of ReadableStreamWrapper that will be shared
with ReadableStreamNative.

* GetReaderValidateOptions() verifies the type parameter to getReader()
* PipeThroughExtractReadableWritable() performs the first part of the
  pipeThrough() implementation.
* PipeToCheckSourceAndDestination() performs the first part of pipeTo()
* CallTeeAndReturnBranchArray() implements tee(), delegating to
  ReadableStream::Tee.

BUG=902633

Change-Id: Ia25c1ea01b4a1f7f1037397c4fe0e446dee93f3b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1524601
Commit-Queue: Adam Rice <ricea@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#641532}
3 files changed