+str Timed ops for Duct[I, O]

- [x] 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…