Reland "Add StreamStartAlgorithm type" and fix bug

Commit 4047b61899853e97218e5b7b2de3b4a45b1b38c6 was reverted in
2b2a55fe69fc9ab71f713959f305b62ad08e227d due to errors on the Linux CFI
bot.

Fix the bug causing the errors and re-land.

Original change's description:
> Add StreamStartAlgorithm type
>
> StartAlgorithms are different from other promise-returning algorithms in
> the streams standard in that they can throw an exception. Add a new
> StreamStartAlgorithm base class to represent them, and a
> CreateStartAlgorithm() function to create ones from JavaScript.
>
> Design doc:
> https://docs.google.com/document/d/1n0IIRmJb0R-DFc2IhhJfS2-LUwl6iKSBNaR0klr3o40/edit
>
> BUG=902633
>
> Change-Id: I0995aa21bbec51ab206a4affc54d861b2c325db4
> Reviewed-on: https://chromium-review.googlesource.com/c/1445342
> Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
> Commit-Queue: Adam Rice <ricea@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#627877}

BUG=902633,927659

Change-Id: Ia9ad04a02c92b701a4ab726d65c92228f3c5b351
Reviewed-on: https://chromium-review.googlesource.com/c/1449991
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Commit-Queue: Adam Rice <ricea@chromium.org>
Cr-Commit-Position: refs/heads/master@{#628671}
4 files changed