Wip timed duct ktoso

- [ ] Merge https://github.com/akka/akka/pull/15182 first.

Adds timed ops to `Duct[I, O]`, not happy with duplicating impl, but had to since no shared interface between Flow and Duct -- that's something we may want to look at I think...? 

This would be implementable if they had a common type that has the `transform` method, though not sure if adding that pays off, since @drewhk has more cases similar to this duplication I hear, where transform is not enough of course hm...