Move Packet 'properties' from core to extensions

Code for Jive's packet properties should not be in 'core'. Also
de-serializing input from network causes some security implications, it
is therefore disabled as default.
Add missing HOXT entry in toc.html
Remove try/catch in startTLSReceived

as exceptions are catched further up the call stack.
Simplify PacketReader wait/notify code

by removing the support for non XMPP 1.0 servers.
Improve PacketReader startup()

Instead of using the connectionID, we now use a new boolean
lastFeaturesParsed to mark when startup() is able to continue or when a
NoResponseException should be thrown.

Fixes the problem when the connectionId was set and the wait() would
timeout, resulting in startup() believing that everything was ok, while
in fact the features where not yet received (or parsed). SMACK-558.
Make PacketReader.resetParser() throw the exception

there is no need to catch it and disguise it.
Log connectionClosedOnError exceptions
Improve javadoc of Java7ZlibInputOutputStream
Improve stream compression for TCP connections

Fix a race condition in useCompression where the compression request was
send outside the synchronized block, this could cause notify() to be
called without a previoius call to wait().

s/streamCompressionDenied/streamCompressionNegotiationDone/ and re-use
the method once the server ack'd stream compression.

Also don't call notifyConnectionError() when requestStreamCompression()
encounters an exception, instead throw the exception.
Remove resource binding out of sasl auth

Follow XEP-170 recommendations: Resource binding *after* compression.

Fixes also a bunch of race conditions related to the wait()/notify()
pattern used in the early stages of a Connection where
createPacketCollectorAndSend(Packet).nextResultOrThrow() can not be
used. Those wait()/notify() patterns are currently
- SASL authentication
- compression
- resource binding

Fixes SMACK-454
No need to synchronize bindingRequired

If binding is required or not is told the client by the server within
the features stanzas. Smacks guarantees that connect() blocks until the
features stanzas has been received and processed.
Only send scheduled Pings if no Pong was received

in the meantime. Also do not distinguish between successful automatic
and manual Ping. Just record the time of the last received XMPP Pong.
Fix OSGi Bundle-Version

Bundle-Version's forth field, the qualifier, must be separated from
the 'micro' version with a dot.
Strip 'smack-' prefix from artifacts

This was causing some trouble, e.g. the maven plugin resolved the
dependency only to artifactId 'core', when it should be
'smack-core'. It was previously working, but likely broke when the
configuration of the subprojects was put into their own build.gradle
files.

SMACK-265
Don't throw XmlPullParserException

removes the need to wrap the exception in a SmackException in
XMPPTCPConnection.initConnection()
Throw exceptions of SSLSocket.startHandshake() in connect()

instead of throwing a NoResponseException in case startHandshake()
throws an Exception. The NoResponseException was then thrown when
performing SASL auth, which usually directly followes securing the
connection via TLS (if enabled and provided by the server).
Add Eclipse-(PatchFragment|ExtensibleAPI) manifest data

to the jar manifests. Thanks to Jens Offenbach for reporting.
Notify PacketReader in case of TLS exceptions

PacketReader will be waiting in startup() as long as either:
- the timeout occurs
- notify is called because the last feature stanza was parser
- notify is called because of an exception while parsing
Prefix subprojects with 'smack-'

instead of using the old baseName=smack appendix=project.name approach,
we are now going convention over configuration and renaming the
subprojects directories to the proper name.

Having a prefix is actually very helpful, because the resulting
libraries will be named like the subproject. And a core-4.0.0-rc1.jar is
not as explicit about what it actually *is* as a
smack-core-4.0.0-rc1.jar.

SMACK-265
Extend JivePropertiesManager

with getPropertiesNames() and getProperties()