Update readable stream reference implementation per #230

This update makes it follow the spec in a more verbatim fashion, mostly by moving functionality into separate "abstract operation" functions instead of keeping it within the class as underscore-prefixed methods. While doing so, also re-ordered members and changed a couple variable names to make the correspondence more obvious.
Update writable stream reference implementation per #230

In the process of doing so, found a few minor (but normative) spec errors which were corrected.

This closes #230.