Move abstract op implementation out of ReadableByteStream class

Fixes: #181
Put design rationales of ReadableByteStream

Issue: #177
Port over the spec entirely to Bikeshed/HTML

It now lives on https://streams.spec.whatwg.org/, with subdirectories automatically generated for each branch and commit (but of course master goes in the root). Fixes #211.

The parts of the README that were somewhat incomplete, like the strategies or transfer stream or pipeTo algorithm, were ported over still-incomplete, so that still needs to be done. TeeStream was moved to a separate file as an experimental extension, like the binary one.

While doing this, added non-normative descriptions for all the methods and getters, and fleshed out a few more concepts in the Model section.

While doing this, found and fixed a few errors-not-being-caught bugs (#128) and made a few other normative tweaks. In total, they are:

- set `[[startedPromise]]` to `undefined` after it fulfills, to free up that memory.
- Catch errors computing the chunk size in `writableStream.write(chunk)`.
- Catch errors enqueuing a chunk in `writableStream.write(chunk)`. (These would occur if the returned size was NaN/+Infinity/-Infinity.)
- Stopped using pointless write records of `{[[type]]: "close", [[chunk]]: undefined, [[promise]]: undefined}` and instead just used `"close"`.
Get rid of "This version" link
Add IDs to many more headings
Slightly tweak state descriptions to align with #150
point directly to the archives
Add an introduction with use cases

Closes #133
Add credit for the logo!
Fix typo in URL to revealing constructor pattern
Fix minor typo in readable stream example
Add @briandipalma to acks for the last two commits
Update the comments on states to reflect up-to-date algorithm