Support for XEP-0280: Message Carbons

I think it would be great if libpurple supported ‚ÄčXEP-0280: Message Carbons. It would make scenarios with multiple clients logged in at once much easier to handle.

I'm attaching a patch that implements support for this in libpurple. It adds a new menu item to any XMPP account that is logged in and where the server has indicated it supports Carbons (I think this is less confusing than adding a setting to the account's preferences that many servers won't support), allowing the user to toggle carbons on or off (if it had previously been set to on, it will enable it automatically when logging in).

The XEP's status is still Experimental, so I don't think Pidgin will add it yet, but it's good to have the code exist, in my opinion.

UIs will still need to be updated to support it: I think many of them don't properly handle PURPLE_MESSAGE_SEND.

(I'm opening a new ticket instead of updating #14663, as that one specifically requests it for GTalk, which currently uses a custom extension to do this.)