wait calls callback directly with promise result

My callback for wait was getting called twice.  This resolves the issue.  Does it still handle errors the way you would like, or do we need something different?

The tests all pass, except for 'global leaks detected: a, n, b' on the selection link test.  That was failing before the change.