Fix Bytestream.getChildElementXML returning invalid XML
Improve XmlStringBuilder usage in Bytestream
Improve Socks5 Bytestreams

- determine all local IPv4 and IPv6 addresses
- prevent loopback addresses from appearing as streamhost

Some unit tests where changed because they assumed that a host only has
one local address. But nowadays hosts often have more, at least because
they are IPv4 and IPv6 multi-homed.
Cleanup Bytestream and Streamhost

remove unnecessary setPort() setter.
Also log the exception in parsePresence()

when parsing packet extensions.
Renamed smack-jingle to smack-jingle-old

Also renamed package name from

org.jivesoftware.smackx.jingle

to

org.jivesoftware.smackx.jingleold
Add getLastStanzaReceived() to XMPPConnection

also remove faulty PongFilter from PingManager. It never matched any
stanzas, since a Pong is just a plain result IQ that is not qualified by
any XMPP Ping namespace.

Fixes SMACK-597
Fix PingServerRunnable scheduling

should be nextPingIn and not pingInterval.
Make the next server ping code easier to read
Updated providers.md: s/.getInstance()//

As ProviderManager has now only static methods
Make parseElementText handle empty string elements

ie. elements which only content is the empty string, for example
<body></body>.

Fixes SMACK-598
Merge branch '4.0'
Add '::1' to the loopbackAddresses
Add maybeCheckForSnapshotDependencies to build.gradle

to check for Snapshot dependencies in release builds.
Fix typo in XmlStringBuilder, it's not an Angel

s/rightAngelBracket/rightAngleBracket/
Remove Pong class, add NAMESPACE to Ping

The Pong class was harmful, as people could try to use it with
PacketTypeFilter, which wouldn't work, a Pong is just a plain IQ result
without child XML.
Fix wrong boolean condition in async API

inverse boolean condition, correct is: "if packetListener has been
removed, then we received no response" and add check for
exceptionCallback being null.
Make AbstractDelayInformationProvider handle empty string as reason