Fix timeout issues when retrying a non-instant set of functions

`waitUntil( )` does not use a timestamp to end its wait period, it uses a fixed number of retries calculated from the number of seconds to wait and the amount of time between retries.

This causes a problem because the default timeout for things like `.firstWithName( )` is 5 seconds.  This means a "6 second" wait is actually 24 retries at 5.25 seconds each.  

This patch fixes the problem by setting the timeout to zero during the running of the waitUntil function.