Add support for async operations in `CommandBuffers`.
Add support for async operations in `CommandBuffers`.

This is now straightforward -- all we need to do is ensure that the `WaitForStreamsThunks` get lowered into appropriate `CommandBufferCmds`. There's already a `BarrierCmd` that *almost* works. I only had to add support for waiting on multiple streams instead of waiting on a single stream.
