Add a new wait() method that waits for jobs to arrive

Using the new iterator object add a new wait method that
will wait until jobs have arrived before giving back an
iterator that can be used to analyze those jobs. It also
supports a timeout which can be used to avoid waiting for
a very long time.

Change-Id: I3d53120948d3d466ebc921a8be0a66b78732f09b
Merge "Add a new wait() method that waits for jobs to arrive"