GVfsDaemon: Don't deadlock on cliend disconnect

There was a deadlock that could happen on client disconnect in
peer_connection_closed(). If the cancelled job immediately called back into
job_finished_callback() we would deadlock on daemon->mutex.

So, make sure we cancel jobs without holding the lock, just like
handle_cancel() does.

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