Add comments to ReplyWaiter.wait()

This method is fairly gnarly, so break my usual preference to make the
intent clear from the code and instead include detailed comments in the
method.

Change-Id: I107272a7eab85c70581652488a3c14ce0e18b906