Make asBroadcastStream take two callbacks.
Make asBroadcastStream take two callbacks.

These callbacks will be called when the broadcast stream no longer
has any listeners, or when it gets a listener after having none.

The callback is provided with a StreamSubscription-like object where
it can pause/resume/cancel the underlying subscription on the original
stream.

BUG=http://dartbug.com/11289
R=floitsch@google.com

Review URL: https://codereview.chromium.org//17490002

git-svn-id: b90127a0f73590c96be848d3e4cb640efa9a7657@24776 260f80e4-7a28-3924-810f-c04153c831b5

dart-lang/scheduled_test,dart-archive/scheduled_test