It can be quite useful to control the delay/timeout
used during waiting periods via the run() method and
not requiring the usage of run_iter() to achieve the
same thing.
This change makes it possible to pass the same timeout
used in run_iter() to run() and have it be used in the
engine internals.
Change-Id: I3798ee14600a2d30e009abf1f273b5edbbe3f5ed