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.