=str: #15802: TickSource cancellable

 - TickPublisher is now single Subscriber only, the TickSource is reusable (creates fresh publishers)
- also, fixing intermediate materialization for Source.concat
probably doesn't matter, but doesn't it feel better to signal after the cancel was done, i.e. switching place on those two lines