wait_for_ajax() will tell us what was cause of the fail.

* it might be useful to combine it with the xxx_in_flight so we use only one method. But I did not want to mess with it again.
I like the concept of this, but I'm a teeny bit worried that we are not capturing the items that we were waiting for as they happened. I personally don't think it's a good idea to say yes there was a failure, and now (some time however short later) we are going to ask again to see why it failed. Does ```_nothing_in_flight``` return what is in flight? If so, wait_for returns the output of a failed function, so we could always use that ```ec, tc = wait_for...``` where ec is the "error_code" or output, and tc is the time taken.