!act #16125 Timeout Calls through CircuitBreaker.

CircuitBreaker used to wait idenfinitly for a call and only compare
duration after the facts. It will now throw a TimeoutException.

I find `callTimeout.length` somewhat unclear. What unit is that? When do you want to do this? `< 1 millis` or `< 1 nanos`?
Perhaps use `callTimeout == Duration.Zero` ?