Fix hang when completing a file transfer over XMPP
The way purple_xfer_drain_socket was implemented,
if the peer never close()d the connection, we would
wait forever for it to be closed remotely, causing
Pidgin to hang.
Testing Done:
Tested IRC and XMPP on Windows and Linux. Transferred big and small files.