Add StreamPromiseResolver

StreamPromiseResolver is a garbage-collected wrapper for
v8::Promise::Resolver that provides semantics matching those used for
promises in the streams standard.

Also add StreamScriptFunction, a subclass of ScriptFunction that avoids
the round-trip through ScriptValue, and StreamThenPromise(), a shortcut
for performing a Then operation where the functions are defined as
StreamScriptFunctions.

See design doc at
https://docs.google.com/document/d/1n0IIRmJb0R-DFc2IhhJfS2-LUwl6iKSBNaR0klr3o40/edit

BUG=902633

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