SMACK-278: Call socket.close() in XMPPConnection.shutdown() before
closing the reader and writer streams. This basically prevents the
deadlock reported in SMACK-278.

Additionally, we need to tell the PacketReader and PacketWriter that
the socket got closed and that subsequent caused Exceptions can be
ignored. This is done via the socketClosed boolean in XMPP Connection,
that is queried by PacketReader and PacketWriter in case an Exception
is encountered.

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

Conflicts:
	source/org/jivesoftware/smack/PacketReader.java
	source/org/jivesoftware/smack/PacketWriter.java
	source/org/jivesoftware/smack/XMPPConnection.java