qulogic/pidgin

Add a cancellable property to PurpleConnection and port IRCv3 to it

As more and more of our protocols start using Gio, it just makes sense to have
a cancellable ready for them.

Testing Done:
Connected, disconnected, and reconnected and IRCv3 account without issue.

Reviewed at https://reviews.imfreedom.org/r/2864/
syntax: glob
.*.swp
.DS_Store
.flatpak-builder
*.pyc
*~
\#*\#
syntax: regexp
^build(.+)?\/
win32-install-dir(\.release)?
po\/pidgin3\.pot$
^subprojects\/.+\/