Gajim breaks JID escaping when handling subscribe presence
Bug description
Hi, when Spectrum sends following presence
XML OUT <presence from="-100004169221467\40chat.facebook.com@facebook.fdfd.com" to="marcel@fdfd.com" type="subscribe"/>
Gajim shows SubscriptionRequestWindow. When user hits Authorize button AddNewContactWindow is showed. When user hits "Add" there, request_gateway_prompt(...) is called with the original escaped jid "-100004169221467\40chat.facebook.com@facebook.fdfd.com".
Spectrum escapes \40 for second time and response looks like:
Component.XML: XML OUT <iq from="facebook.fdfd.com" id="99" to="marcel@fdfd.com/HSD" type="result"><query xmlns="jabber:iq:gateway"><jid>-100004169221467\5c40chat.facebook.com@facebook.fdfd.com</jid></query></iq>
Gajim then adds this double-escaped contact to the roster. I think Gajim should unescape the JID first and then do jabber:iq:gateway query.
I will detect this situation in Spectrum and workaround it, but it would be great to fix it in Gajim too.