[xla:gpu] Allow send-done to take a non-send instruction as an operand.
[xla:gpu] Allow send-done to take a non-send instruction as an operand.

This is to support a new method to pipeline two Send-Recv chains that together
form a source-target cycle.

Add a test.
