Update test/reference implementation dependencies

Brings along better error reporting for failing tests.
First draft reference implementation of ExclusiveStreamReader

Currently fails the ReadableByteStream test.
Add a note on how to optimize the delegation
Allow custom stream implementations to work with the reader

Implements option 3 of https://github.com/whatwg/streams/pull/251. Now the tests are passing since ReadableByteStream can participate in locking as well.
Add some tests.

Trying to auto-release on close to make them pass. Somehow this breaks a bunch of tests, which seems strange.

Alternate design: don't auto-release on close, but be sure to resolve the promise previously returned by `ready` somehow. This could be nicer in that the reader still works and, for all practical purposes, the stream itself also works.
Revert "Allow custom stream implementations to work with the reader"

This reverts commit 04504c3a049dabec193e443a9ff4cc752fe779b4.

Conflicts:
	reference-implementation/lib/readable-stream.js
Don't auto-release the reader on close for now.

Maybe we'll figure this out later.
Add a getReader() method anyway

It's probably a nicer user-facing API.
closed promise should not fulfill until lock is released
Make ReadableByteStream work with the reader system
Fix released readers to return rejected promises

Fixes @yutakahirano's comment at https://github.com/whatwg/streams/pull/251#discussion_r21659067.
Remove ability to tell if a stream is locked (for now?)

Rationale in design doc.
Make rs.cancel() return a rejected promise if used while locked
Add some cancel() tests
Add tests about delegation to the locked stream