Creates a new mpsc channel, returning the Sender and Reciever. Each item T sent by the Sender
will only be seen once by the Reciever. If the Sender calls close while the Recievers buffer
is not empty, the Reciever will yield the remaining items in the buffer until empty.