So to put this very simply, there is no way in pidgin 2 without breaking API to address a message after it's been displayed. Eion has been hacking around this for years via commands in protocols and then replaying messages and stuff. While this works, it's not a great user experience.
So at a bare minimum we needed to totally change the way messages work. Which inside of a chat client, is a pretty big change. That obviously led to other changes and so on and so on.
As for the other protocols... We needed something to prove out most of the abstractions and trying to prove out abstractions while implementing multiple protocols is a ton of work. But on our radar are new XMPP, Bonjour, and even a Matrix plugin. All of these will be coming from us and will be in tree.
That said, there will not be any proprietary protocols in our official source tree. If you want more information on that, check out this post [1].
As for Eion's plugins, I've been talking to him through much of this as you would expect. Obviously his time is precious and we didn't make this changes to spite him or anything, but we (me specifically) have offered to start porting his protocols for him.
[1] https://dev.to/grim/in-tree-protocols-15ne