Split the XMPPFramework spec into subspecs

XMPPFramework has a very large number of optional modules of which most
projects will use only a small subset, so move each of the extensions
into their own subspecs.

Create XMPPFramework.h automatically rather than requiring that the user
create it by hand.

Use vendored_libraries for libidn.a.
Merge pull request #3593 from tgoyne/xmpp

Split the XMPPFramework spec into subspecs