WIP on #15086 cancelling publishers/subscribers if they are never consumed

By cancelling Subscribers and Publishers, not actors directly etc. In theory anyone could reuse the registry - I have not made it akka private, only the internals of it.

Only in the GroupBy case currently. For it it works because when all substreams are cancelled the entire actor stops itself.

I avoided even thinking about any WeakReference magics, I believe we agreed to avoid them right?

Anyhow, still WIP as needs to be applied to other places which might need it, but comments on impl method already very welcome, thanks!

Eventually resolves #15086
background story: so this does not actually start the substream for the 2 group. so the timeout does not play a role in *this* version of the test + transfer condition. 

The timeout *does* come into play when we'd `getSubflow(2)` and not run it - no demand frmo it etc. then the timeout kicks in and kills it - that's the usual example in groupby when someone ignores one of the passed in substreams IMO.