[xla][gpu] Change the point-to-point pipeliner to produce an intermediate form
[xla][gpu] Change the point-to-point pipeliner to produce an intermediate form
of pipelined code.

The pipeliner now rotates all point-to-point instructions for a communication
chain, including Send, Recv, SendDone and RecvDone, in a while-body. We will
add a post-scheduling pass to further transform such a pipelined loop by
pushing the SendDone and RecvDone to the next loop iteration.

Adjust the p2p-schedule-preparation pass to reflect this change.
