Add TakeMaxDuration and WaitMaxDuration.
This allows a client to return errors if the wait
time would be too long.