function BuildEventSink.wait
Block until this sink finishes flushing. Idempotent:
None once it has nothing left to wait for.
With timeout_ms, gives up after that long and returns False,
leaving the sink flushing in the background for a later wait().
This is how AXL drains build events after a cancel: the forwarders
get a bounded window to deliver bazel’s BuildFinished before the
process exits. Returns True when the sink finished within the wait.
