Define the 'XMPP' monad, so clients don't have to pass a stream around.
Moved client-related modules into a subpackage.
Merged public API into a single exposed module, 'Network.Protocol.XMPP'.
Quick-n-dirty conversion to version 0.3 of the GNU SASL bindings.
Implement converting stanzas to/from XML trees
Cleaned up the 'Component' module
Cleaned up the Client module, which opens streams in the jabber:client namespace.
Connection: class for getTree/putTree
Handle all stanza types in a single data type.
Allow the SASL mechanism used to be automatically negotiated.
Ported authentication to GNU SASL. Currently, only the PLAIN mechanism is supported.
When binding a resource, allow the calling code to request a specific resource string be used.
Add basic support for the ``message`` and ``presence`` stanza types, which simplify the construction of XML trees.
Change JIDs to be unformatted when shown -- turns out using show for formatting was a dumb idea, because it would typecheck even if the value was no longer a JID.
Cleaned unused and duplicate imports, and added some type declarations.