SMACK-463: catch and log exceptions in packet listeners
SMACK-53: create Version.Provider and .Manager

The Version.Provider is used to parse Version IQs. Integration:

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

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

	Version.Manger.getInstanceFor(connection).setVersion(
		new Version("App Name", "1.23", "Operating System"));
XEP-0198 support.
Partial implementation of outgoing XEP-0198 stream management.

Clean up formatting.
Do not notify connectionClosed listeners on quickShutdown.

Previous version had a race condition.  The roster was notified of connection closed rather than connection error. This winner depended on whether the socket close caused an IO error first, or shutdown on PacketReader was called first.
Fix authenticated flag false after SM resume.

Causing roster management to fail.
quickShutdown on PacketReader error.

We don't want unavail presence to be sent or otherwise lose state that we need to reconnect.
XEP-0198: prevent binding of null resource
SMACK-445 update XMPPError to RFC6120
typo fix: interna_server_error -> internal