Rework file-transfers...For aborted transfers, we will have to move the transfer to the
TRANSFER_KILLED state. Then we'll have to wait until the input
FIFO stops being readable (the user ^C the transfer). Only then can
we move to TRANSFER_NONE.
If we move to TRANSFER_NONE immediately then we will initiate a
new transfer which we don't want to do.
The basic idea is:
If we move into the TRANSFER_KILLED state and timeout has expired (50ms?)
without the fd being readable (the user did a ^C on cat file > file_in)
then move the transfer to TRANSFER_NONE state.
Only monitor FIFOs for friends that are online...Side-effect: If you send a file to a friend that is offline,
the write will block() until the friend comes online at which point
the file transfer will begin.