ftp: Check connection is usable when acquiring

Qhen acquiring a cached connection, it might have timeout'ed or
otherwise not be available anymore. We don't want these connection
errors to propagate into the job we're handling and instead just acquire
the next connection.

https://bugzilla.gnome.org/show_bug.cgi?id=591054
ftp: Also mark connection as unusable on G_IO_IN

There is data waiting on an FTP connection and we didn't request it.
It's not ours and we have no way to clear it. Just makr this connection
as unusable.

Most likely this is the server notifying us about a timeout or other
connection abort, so it's a good idea to treat it as an error anyway.

Also includes a new debug message for when we mark a connection as
unusuable and why.

https://bugzilla.gnome.org/show_bug.cgi?id=591054
ftp: Only free connection if non-NULL

Only attempt to free the connection if it is non-NULL, to prevent
warnings like the following:
** (process:30854): CRITICAL **: g_vfs_ftp_connection_free: assertion 'conn != NULL' failed

The connection can be NULL if g_vfs_ftp_connection_new is cancelled.

https://bugzilla.gnome.org/show_bug.cgi?id=591054