Add support for cancellation of demuxer reads.
This speeds up seek and suspend significantly in the case of a hung
read; on slow networks this may shave hundreds of milliseconds or more
off the seek and suspend times.
Notably this also resolves a CHECK() crash for overlapping reads
by aborting any existing reads when a new read comes in.
Note: Also removes some log spam from canceled reads / tests.
BUG=165762,638018
TEST=manual, new unittests
Review-Url: https://codereview.chromium.org/2267963002
Cr-Commit-Position: refs/heads/master@{#415401}
23 files changed