Web updates

Streams dd20dd0377a5

Store the error passed to WS's abort() Previously, calling abort(reason) on a WritableStream would set the stored error to a TypeError, meaning that future operations on that WritableStream would reject with a TypeError. This resulted in losing the original reason when an error happened in a pipe. Instead, retain the abort reason in the stored error slot. Similarly, aborting the writable side of a TransformStream would set the stored error on the readable side to a TypeError. Make it use the reason as well to reflect the new behavior of the writable side. Closes #896.

Adam Rice