Entity Caps: Major rewrite

Conflicts:
	source/org/jivesoftware/smack/Connection.java
	source/org/jivesoftware/smack/PacketReader.java
	source/org/jivesoftware/smack/SmackConfiguration.java
	source/org/jivesoftware/smackx/ServiceDiscoveryManager.java
	source/org/jivesoftware/smackx/entitycaps/EntityCapsManager.java
	source/org/jivesoftware/smackx/entitycaps/SimpleDirectoryPersistentCache.java
	source/org/jivesoftware/smackx/entitycaps/packet/CapsExtension.java
	source/org/jivesoftware/smackx/packet/DiscoverInfo.java
Alignment of master and upstream
ServiceDiscoveryManager: Anounce 'disco#info' and 'disco#items' on service discovery queries in accordance with XEP-0030

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13464 b35dd754-fafc-0310-a699-88a17e54d16e
ServiceDiscoveryManager: Use 'Set' as data structure for features to prevent reporting duplicate features

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13465 b35dd754-fafc-0310-a699-88a17e54d16e