Rename readable stream abort to cancel.

Per #67. Also, stop passing the [[onCancel]] function the cancellation reason; it is for external consumers, not for the stream creator, as discussed in #78.

There is still work to be done to make it more asynchronous.
Handle asynchronous cancellation processes better.

See #67, especially https://github.com/whatwg/streams/issues/67#issuecomment-33203680. We immediately close the stream, clear the buffer, etc., but `readableStream.cancel()` returns the result of promise-calling `this.[[onCancel]]`. This also closes our error-handling story for readable streams, i.e. fixes #78.