Properly close watcher streams during tests. This also makes [futureStream] pass cancellations through to the underlying stream, and adds the ability for it to return broadcast streams. R=rnystrom@google.com BUG=14943 Review URL: https://codereview.chromium.org//66293008 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart/pkg/watcher@30180 260f80e4-7a28-3924-810f-c04153c831b5