Handle possible user-thrown exception

This propagates it out of SyncWritableStreamStateWithQueue into the waiting arms of someone who will catch it and send it to `this@[[error]]`.

Combined with previous work, this closes #128.
Add customization options to pipeTo

Closes #201.
Fix bad header syntax
Add description and example for pipeThrough

Part of #228
Add missing parameter to EnqueueValueWithSize calls
Have `readableByteStream.read` delegate to `this.readInto`

It is generally better practice to go through public APIs when possible. For example, this way a subclass of ReadableByteStream could override `readInto` to tweak it slightly, and then `read` will inherit the changes.

Bonus: Changed casing "arraybuffer" → "arrayBuffer"