Lazy listen in StreamRouter, cancel subscription when no longer needed.

Closed #28.
I think the expect() call should be here: `subscription.cancel().then((_) { expect(listenerStillExists, false); });`