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
Wording is not quite right. "unless we are at or above" would be more precise. I will fix during the merge.