Add error argument to start of WritableStream

Issue: https://github.com/whatwg/streams/issues/139
Update the explanation of constructor options that can return a promise
Refactor callPull into callPull and callOrSchedulePull
Add [[callOrScheduleAdvanceQueue]] to the IDL
Make [[enqueue]] consult needsMore even when state was waiting

Also adds code to handle an error in needsMore

Issue: https://github.com/whatwg/streams/issues/119#issuecomment-47197022
Handle strategies that throw on size() better in readable streams

See https://github.com/whatwg/streams/pull/155/files#discussion_r15358699. Part of a larger effort tracked as #128.
add duplex streams to faq
Clarify pipeTo vs. pipeThrough FAQ entry a bit.