+act #15542 Change various methods of FSM to accept Duration rather than...

... FiniteDuration, to allow infinite timeouts
please avoid such broad conversions, also - this one is not safe, for infinity it would fail:

```scala
scala> val d = Duration.Inf
d: scala.concurrent.duration.Duration.Infinite = Duration.Inf

scala> d.unit
java.lang.IllegalArgumentException: unit not allowed on infinite Durations
```