s/XMPPConnection/TCPConnection
Move Jingle packet and provider under smackx.jingle

The Jingle integration-tests where also accidentally not within the
smackx package.
Migrated Roster Item Exchange to new manager design

The finalize approach was flawed anyway, it would have never been
called. Because if the packetListener was still referenced from a
connection, and the connection was still strong referenced, then a
strong reference from a gc root would still exists to the manager, which
would prevent it from being gc'ed and finalized being called.
Move Roster Item Exchange code to legacy project

XEP-93 has been deprecated and superseded by XEP-144.
Rework XMPP Date/Time related code

- Fix "packet.Time is not thread-safe" (SMACK-543)
- Update packet.Time to XEP-0202

Add SDM.supportsFeature(), since this is a pattern that repeats over and
over again in Smack. Also add abstract Manager class, that takes care of
the weak reference to Connection, as this is also a repeating pattern in
Smack.
SMACK-541 Fix of XHTMLExtensionProvider on Android
This fixes issue there on android in XHTMLExtension bodys contained "null" instead of actual xhtml tags
This happened due to difference in XPP implementation in KXmlPullParser (on Android) MXParser (in other cases)
This fix replaces usage of getText method of XPP with restoration of xhtml tags using XPP api.
Advanced Message Processing implementation (XEP-0079)

Fixes SMACK-544
SMACK-53: create VersionProvider and VersionManager

The VersionProvider is used to parse Version IQs. Integration:

	providerManager.addIQProvider("query", Version.NAMESPACE, new VersionProvider());

The VersionManager is used to reply to Version IQs. Integration:

	VersionManger.getInstanceFor(connection).setVersion(
		new Version("App Name", "1.23", "Operating System"));
Remove deprecated constructor for FromMatchesFilter (SMACK-71)
Cleanup texts and comments
Make Roster#unfiledEntries a set

Conflicts:
	core/src/main/java/org/jivesoftware/smack/Roster.java
Tune documentation

Waiting for an answer is synchronous behaviour, not asynchronous.
Fix typo in variable name
Move gradle subproject configuration into the subproject
Refactor Managers to subclass abstract Manager

Also use ServiceDiscoveryManager.supportsFeature() where possible.
Don't set SASL authid parameter to username (SMACK-371)

RFC4616 states that if the authorization identity (authzid) parameter is
null, then it is derived from the authentication
identity (authcid). Smack currently sets both, authzid and authcid, to
the username, resulting in auth attempts of

userid\0userid\0password

instead of

userid\0password

Which are different users on most systems (e.g. Kerberos).

We now set only SASLMechanism.authenticationId to username. The
authenticate(String, CallbackHandler) method does now not longer receive
the username, as it's send by the CallbackHandler.