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/