Suggested solution for #8

As I think the `SaslHandler's might change relatively frequently
depending on the value of `ConnectionState', I hereby suggest that the
handler value passed to `session' is changed from `[SaslHandler]' to
`(ConnectionState -> [SaslHandler]'.

Most people would probably just do `\_ -> scramSha1...', but I guess
the extra flexibility this provides makes up for the slightly more
complicated API.
Merge branch 'master' of github.com:pontarius/pontarius-xmpp
Remove unsuitable `Read' instance for `Jid'

The way I understand it, the `Show' and `Read' instances are for `String' representations that can be Haskell code. A proper `Show' instance of `Jid' would produce something like `Jid (Just "test") "example.com" Nothing'. A proper `Read' instance of `Jid' would parse something like that `String' value, and would stop parsing when completed.

This patch automatically derives the `Show' instance from `Jid'. It also uses the previous `Show' instance to create a pretty printer, `jidToText'. It also provides a (trivial) `jidToTexts'. As an automatically derived `Read' instance could be used to create invalid `Jid' values and affect the correctness of applications using Pontarius XMPP, such a derivation has not been included. This required some changes in the `Jid' marshalling code, which assumed a `Read' instance.

Since we provide `jidFromText', I'm assuming that no-one needs a `Read' instance of `Jid'.

Fixes #24.
Add Read and Show instances for Jid

Here's a hack with `Read' and `Show' instances for Jid, as discussed.
I didn't have the time or patience to make it elegant, but at least it
does the job.

I'm calling it `jid' instead of `toJid' for the time-being since
`toJid' is already used in the stream configuration record.

Fixes #24.
Merge branch 'master' of git://github.com/jonkri/pontarius-xmpp into jonkri-master

Conflicts:
	source/Network/Xmpp.hs
	source/Network/Xmpp/Types.hs
Message.hs: Replace "theadID" with "threadID"

Fixes #23.
Remove IsString instance of `Jid'

IsString instances are never supposed to fail, but parsing Strings to
JIDs might. We might do this later with Template Haskell instead, or
something.
README.md: Clarifications, mention ICU dependency, and conform to API
pontarius-xmpp.cabal: Add bugtracker URL and change descriptions
examples/echoclient/Main.hs: Adapt to new API
Merge pull request #29 from jonkri/master

Apply various minor fixes
Wrap `AuthFailure' in `XmppAuthFailure'

Moved `AuthFailure' to Network.Xmpp.Types.

Fixes #11.
Merge pull request #30 from jonkri/master

Wrap `AuthFailure' in `XmppAuthFailure'
Provide access to StanzaID generator in Network.Xmpp (`newStanzaID')

Fixes #22.
Merge pull request #31 from jonkri/master

Provide access to StanzaID generator in Network.Xmpp (`newStanzaID')
add a test case for closed connection
Merge remote-tracking branch 'upstream/master'