Fix flakey vat tests
The vat tests were flakey because they didn't wait long enough for the
vat to finish. We don't want to make the tests unnecessarily slow, so
this introduces a function called miliseconds-sleep-until. This
function will wait if needed up to a set timeout, however it'll check
every check-interval milliseconds by calling the finished? function.
This function will return #t when it's finished and the timeout will
bottom out, rather than waiting the full amount of time.
This allows the vat tests to wait longer when needed, but usually they will finish fairly quickly not slowing down the test suite.